扩展rsyslog的默认日志记录模板

时间:2019-09-11 13:20:02

标签: linux rsyslog

使用centos 7,我想扩展rsyslogs标准模板。

我实际上不知道默认模板是经过硬编码还是在配置文件中明确定义?

无论如何,使用标准会产生以下结果: Sep 11 14:01:01 <hostname> root: Hello from /etc/cron.hourly/test_hourly

我想扩展它,以便更改为: Sep 11 14:01:01 <hostname> local1.notice root: Hello from /etc/cron.hourly/test_hourly

换句话说,我想添加文本“ local1.notice”, “ local1.notice”仅是示例, 这是我使用rsyslogs-predefined variables: %syslogfacility-text%.%syslogseverity-text%

时的结果

我已经尝试使用新模板, 在我的/etc/rsyslig.conf

中包含以下两行

$template sample_template,"%timegenerated% %HOSTNAME% %syslogfacility-text%.%syslogseverity-text% %msg%\n" local1.* /var/log/local1.log;sample_template

但是这种方法导致这样的行:

Sep 11 10:01:01 <hostname> local1.notice Hello from /etc/cron.hourly/test_hourly
Sep 11 14:01:01 <hostname> local1.notice root: Hello from /etc/cron.hourly/test_hourly

如您所见,root:-部分丢失。

谢谢。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,

%syslogtag%

进入根本就没了...

还将语法更改为新模板config-syntax, 这是我的/etc/rsyslog.conf

中的结果行
# old:
# Use default timestamp format
# $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# new:
template (name="sample_template" type="string" string="%timegenerated% %HOSTNAME% %syslogfacility-text%.%syslogseverity-text% %syslogtag% %msg%\n")
$ActionFileDefaultTemplate sample_template