【问题标题】:OS X syslog ignores setlogmask and only logs errorsOS X syslog 忽略 setlogmask 并且只记录错误
【发布时间】:2015-02-16 17:58:22
【问题描述】:

我在 OS X Yosemite 10.10.2 上,用 C++ 编写一个 Cocoa 应用程序

我正在尝试使用 setlogmask 设置 syslog 的日志记录级别,但它似乎只记录错误消息。代码:

openlog("test", ( LOG_CONS | LOG_PID), LOG_USER );
setlogmask(LOG_UPTO(LOG_DEBUG));
syslog(LOG_ERR, "abcdefg error log.");
syslog(LOG_INFO, "abcdefg info log.");
syslog(LOG_DEBUG, "abcdefg debug log.");

只有错误日志显示在 /var/log/system.log
以防我误解了我尝试过的 LOG_UPTO

setlogmask(LOG_UPTO(LOG_DEBUG));
setlogmask(LOG_UPTO(LOG_ERR));
setlogmask(0);
setlogmask(255);

总是得到相同的结果:

Feb 16 12:47:53 Mac-Pro.local test[28408]: abcdefg error log.

我错过了什么?

【问题讨论】:

    标签: c++ cocoa logging osx-yosemite syslog


    【解决方案1】:

    想通了。 /etc/asl.conf 将 syslog 设置为忽略低于警告的任何内容,这是有道理的。

    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/asl.conf.5.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      相关资源
      最近更新 更多