linux log 日志

/* author: hjjdebug
 * date: 2023年 08月 08日 星期二 13:18:08 CST
 * descriptor: linux log 日志
 * destinator: 搞清linux 下log 日志
 * 下面代码编译通过即可运行
 */
#include
#include

int main(void) {
    // 打开系统日志, 可选
    //    openlog("demo", LOG_CONS | LOG_PID, LOG_USER);

    // 将一条消息发送到系统日志
    syslog(LOG_INFO, "---- This is a message from demo program.");

    // 关闭系统日志, 可选
    //    closelog();

    return 0;
}

/*
 * 默认的输出形式是打印程序名称.
 * 用openlog, 第一参数(identify)可以指定打印名称
 $tail -f messages
 Aug  8 12:46:25 hjj-u7090 test_log: ---- This is a message from demo program.
 Aug  8 12:47:20 hjj-u7090 demo[25799]: ---- This is a message from demo program.

 ubuntu 下开启 messages 的方法
 ubuntu 用rsyslogd 服务记录log,
 默认开启了auth, kern, mail等log,但没有开启messages log
 开启方法
1.  打开/etc/rsyslog.d/50-default.conf
看到已经打开了auth,kernl,mail等log, 但messages 没有打开
删除下面这几条注释,成为如下形式即可
#    news.none;mail.none    -/var/log/debug
*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none        -/var/log/messages
2. 重启rsyslog 服务
$ systemctl restart rsyslog
然后你可以运行该编译程序, 用tail -f message 可看到上述输出.


当然如果在ubuntu 下运行, 其使用的是systemd为根进程, 不改配置也会向/var/log/journal/目录下的文件输出,
你也可以用journalctl 命令查看到输出. journalctl 是systemd 下统一log管理工具.
所以两种方法:
1. 自己用cat, vim 等查看各分离的log 文件, 这些是ascii 文件
2. 用journalctl 统一管理各个log(它查看的是/var/log/journal/目录下的文件,这是二进制文件,只能用工具看.
 */

你可能感兴趣的:(#,linux,基础知识,linux,log)