一尘不染

linux在哪里存储我的系统日志?

linux

我编写了一个简单的测试应用程序,以将某些内容记录到日志文件中。我正在使用 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;
}

阅读 735

收藏
2020-06-07

共1个答案

一尘不染

在我的Ubuntu机器上,我可以在看到输出/var/log/syslog

在RHEL / CentOS计算机上,可在中找到输出/var/log/messages

这是由rsyslog服务控制的,因此,如果由于某种原因而被禁用,则可能需要使用来启动它systemctl start rsyslog

如其他人所述,您的syslog()输出将由/var/log/syslog文件记录。
您可以在看到系统,用户和其他日志/var/log

有关更多详细信息:这是一个有趣的链接

2020-06-07