2

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 的文件。

请建议。

4

2 回答 2

2

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
于 2012-08-18T06:46:30.263 回答
1

它们被转储到 syslog 缓冲区中,syslogd/rsyslogd拾取它们并将它们放置在由/etc.

于 2012-08-18T06:25:05.663 回答