我尝试从我的C程序中记录,但是我没有在/ var / log / messages中找到我的程序中的任何条目。最近还有其他条目。
我正在使用 Fedora 17:Linux appliance.localdomain 3.5.3-1.fc17.i686#1 SMP Wed Aug 29 19:25:38 UTC 2012 i686 i686 i386 GNU / Linux
我看到安装了这个日志包:rsyslog-5.8.10-2.fc17.i686
myprompt: rpm -ql rsyslog-5.8.10-2.fc17.i686 | grep conf$
/etc/rsyslog.conf
在/etc/rsyslog.conf中:
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
我的代码:
#include <syslog.h>
...
setlogmask (LOG_UPTO (LOG_NOTICE));
openlog ("m61", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_USER);
syslog (LOG_INFO, "In m61_init");
closelog ();
答案 0 :(得分:5)
您的日志priority mask setlogmask (LOG_UPTO (LOG_NOTICE));
丢弃日志消息,因为LOG_INFO
优先级低于LOG_NOTICE
。
Priorities按重要性降低的顺序
这说明了消息内容的重要性。定义的优先级值的示例是:debug,informational,warning,critical。有关完整列表,请参阅syslog; vsyslog。除了优先级具有已定义的顺序之外,每个优先级的含义完全由系统管理员决定。
在您的代码中更改setlogmask函数中的值或syslog函数中的优先级。