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
配置。