/* author: hjjdebug
* date: 2023年 08月 08日 星期二 13:18:08 CST
* descriptor: linux log 日志
* destinator: 搞清linux 下log 日志
* 下面代码编译通过即可运行
*/
#include <stdio.h>
#include <syslog.h>
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 可看到上述输出.文章来源:https://www.toymoban.com/news/detail-636842.html
当然如果在ubuntu 下运行, 其使用的是systemd为根进程, 不改配置也会向/var/log/journal/目录下的文件输出,
你也可以用journalctl 命令查看到输出. journalctl 是systemd 下统一log管理工具.
所以两种方法:
1. 自己用cat, vim 等查看各分离的log 文件, 这些是ascii 文件
2. 用journalctl 统一管理各个log(它查看的是/var/log/journal/目录下的文件,这是二进制文件,只能用工具看.
*/文章来源地址https://www.toymoban.com/news/detail-636842.html
到了这里,关于linux log 日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!