syslog() 生成日志消息
syslog(LOG_ERR, "%s failed: %d (%m)", str, errno); syslog(LOG_NOTICE, "%s failed: %d (%m)", str, errno); 系统日志(LOG_INFO,"%s",str);
它在哪里存储这些信息?
我在服务器中找不到任何名为 LOG_ERR、LOG_NOTICE、LOG_INFO 的文件。
请建议。
在Linux下,你可以在这里找到它们 : /var/log/syslog
,如果你运行这个简单的程序:
#include <syslog.h>
int main(int argc, char **argv)
{
/* Various syslog messages */
syslog (LOG_CRIT, "%s", "That's critic");
syslog(LOG_ALERT, "An alert\n");
syslog(LOG_ERR, "Error on this DAEMON\n");
return 0;
}
并打开一个终端并运行它:
toc@UnixServer:/var/log$ tail -f syslog
您应该看到如下内容:
Aug 18 08:42:21 TarekServer SYSLOG: That's critic
Aug 18 08:42:21 TarekServer SYSLOG: An alert
Aug 18 08:42:21 TarekServer SYSLOG: Error on this DAEMON
它们被转储到 syslog 缓冲区中,syslogd
/rsyslogd
拾取它们并将它们放置在由/etc
.