在 CentOS 系统中,自定义 syslog 日志格式需要修改 rsyslog 配置文件
打开终端。
使用文本编辑器(如 vi、nano 等)打开 rsyslog 配置文件。通常,该文件位于 /etc/rsyslog.conf
或 /etc/rsyslog.d/50-default.conf
。例如,使用 vi 编辑器,输入以下命令:
sudo vi /etc/rsyslog.conf
或者
sudo vi /etc/rsyslog.d/50-default.conf
$ActionFileDefaultTemplate
这一行。如果没有找到,请在文件的末尾添加以下内容:$template CustomFormat,"%timegenerated% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
这里,CustomFormat
是自定义日志格式的名称,您可以根据需要更改它。接下来的部分定义了日志格式,您可以根据需要进行修改。在这个例子中,我们使用了 %timegenerated%
(时间戳)、%syslogtag%
(系统日志标签)和 %msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%
(消息内容)等占位符。
*.* action(type="omfile" file="/var/log/custom.log" template="CustomFormat")
这里,*.*
表示所有日志,action
表示将日志写入 /var/log/custom.log
文件,并使用 CustomFormat
模板。
local0.* action(type="omfile" file="/var/log/custom_local0.log" template="CustomFormat")
保存并关闭配置文件。
重启 rsyslog 服务以使更改生效:
sudo systemctl restart rsyslog
现在,您的 CentOS 系统应该已经使用自定义的日志格式记录日志了。请检查指定的日志文件(如 /var/log/custom.log
或 /var/log/custom_local0.log
),查看日志是否已按照您定义的格式显示。