使用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:
-部分丢失。
谢谢。
答案 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