syslog存储错误消息

syslog()生成一条日志消息

syslog(LOG_ERR,“%s失败:%d(%m)”,str,errno); syslog(LOG_NOTICE,“%s失败:%d(%m)”,str,errno); 系统日志(LOG_INFO, “%s” 时,STR);

它在哪里存储这个信息?

我无法通过LOG_ERR,LOG_NOTICE,LOG_INFO的名称在服务器中find任何文件。

请build议。

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 

他们被转储到系统日志缓冲区,在这里syslogd / rsyslogd选择它们,并把它们放在适当的位置,这取决于它在/etc配置。