centos

CentOS Syslog如何自定义日志格式

小樊
49
2025-06-18 09:46:19
栏目: 智能运维

在 CentOS 系统中,自定义 syslog 日志格式需要修改 rsyslog 配置文件

  1. 打开终端。

  2. 使用文本编辑器(如 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
  1. 在配置文件中找到 $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%(消息内容)等占位符。

  1. 在配置文件中找到需要应用自定义日志格式的规则。例如,如果您希望将自定义格式应用于所有日志,可以将规则更改为:
*.* action(type="omfile" file="/var/log/custom.log" template="CustomFormat")

这里,*.* 表示所有日志,action 表示将日志写入 /var/log/custom.log 文件,并使用 CustomFormat 模板。

  1. 如果您只想针对特定服务或设施应用自定义日志格式,请相应地修改规则。例如,如果您希望仅针对本地系统日志(local0)应用自定义格式,可以将规则更改为:
local0.* action(type="omfile" file="/var/log/custom_local0.log" template="CustomFormat")
  1. 保存并关闭配置文件。

  2. 重启 rsyslog 服务以使更改生效:

sudo systemctl restart rsyslog

现在,您的 CentOS 系统应该已经使用自定义的日志格式记录日志了。请检查指定的日志文件(如 /var/log/custom.log/var/log/custom_local0.log),查看日志是否已按照您定义的格式显示。

0
看了该问题的人还看了