使用asl_log仅记录日志文件

时间:2016-01-12 12:03:51

标签: c++ c xcode macos logging

我想在我的项目中定义新的asl工具,以防止我的asl日志消息显示在/var/log/system.log中

这是我的整个配置:

- >我的设施是com.bla.bla

- > configuraiton文件/etc/asl/com.bla.bla

> bla.log rotate=utc ttl=7 compress file_max=5M all_max=25M mode=0640 
format=$((Time)(local.6))\ $(Host)\ $(USERNAME)\ $(Sender)[$(PID):$(TID)]\ 
:\ $(Message)
? [= Facility com.bla.bla] [<= Level info] file bla.log

- &GT; aslclient和aslmsg创建:

(请注意,在asl_client中,未设置ASL_OPT_STDERR标志)

asl_client = asl_open(name, "com.bla.bla", 0); 
asl_msg = asl_new(ASL_TYPE_MSG);

- &GT; asl消息调用

asl_log(asl_client, asl_msg, log_level , message_format);

但是,我仍然看到这些消息到达/var/log/system.log,虽然我还没有在我的配置中指定它,并且意味着它们只能转到bla.log。

知道我错过了什么吗?

编辑:刚刚发现我的日志记录找到system.log的原因是asl.conf文件中的以下部分。请注意,根据第二条规则,所有超出或包含级别通知的消息(无视设施)都将路由到system.log。

我希望在其专用配置文件中为我的特定设施超出此规则。可能吗 ?

# Rules for /var/log/system.log 
> system.log mode=0640 format=bsd rotate=seq compress file_max=5M all_max=50M
? [= Sender kernel] file system.log
? [<= Level notice] file system.log
? [= Facility auth] [<= Level info] file system.log
? [= Facility authpriv] [<= Level info] file system.log

0 个答案:

没有答案