我编写了一个简单的测试应用程序来在日志文件中记录一些内容。我正在使用 linux mint 并在应用程序执行后尝试使用以下命令查看日志:
tail -n 100 /var/log/messages
但文件消息不存在,既不测试也不存在。您可以在下面找到我的代码。也许我做错了什么,文件没有存储在那里,或者我需要在 linux mint 中启用登录。
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
void init_log()
{
setlogmask(LOG_UPTO(LOG_NOTICE));
openlog("testd",LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
}
int main(void) {
init_log();
printf("Session started!");
syslog(LOG_NOTICE, "Session started!!");
closelog();
return EXIT_SUCCESS;
}
最佳答案
在我的 Ubuntu 机器上,我可以在 /var/log/syslog
处看到输出。
在 RHEL/CentOS 机器上,输出位于 /var/log/messages
。
这是由 rsyslog
服务控制的,因此如果由于某种原因禁用了它,您可能需要使用 systemctl start rsyslog
来启动它。
正如其他人所指出的,您的 syslog()
输出将由 /var/log/syslog
文件记录。
您可以在 /var/log
中查看系统、用户和其他日志。
更多详情:这里是 interesting link .
关于c - linux 在哪里存储我的系统日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10979435/