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

标签 c linux logging

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

相关文章:

获取缩写工作日名称的跨平台方法

linux - 如何使用 OpenCv 在 Qt GUI 应用程序中显示网络摄像头提要?

java - 在哪里检查日志为什么 VM 不运行带有自定义 jar 的 jconsole?

c# - 记录抢占

c - Makefile:链接 .*a 库

c - 如何正确填充套接字地址?

c++ - C中结构体中使用的函数指针

linux - 是否可以拦截本地程序未加密的HTTPS请求体?

c - 为什么我在 Debug模式下得到不同的值?

java - 带有@Loggable 注释的方法从不打印方面日志