如何只将 原始邮件 存储到文件中?
例如: -
我通过 rsyslog :
May 4 13:18:47 xxxx apache-error: [Wed May 04 13:18:41.256596 2016] [:error] [pid 54583] [client 192.168.30.200:52638] script '/var/www/aaa.php' not found or unable to stat
我需要 rsyslog config 从输入中提取原始消息,不带syslog标题(以下突出显示):
5月4日13:18:47 xxxx apache-error: [Wed May 04 13:18:41.256596 2016] [:error] [pid 54583] [client 192.168.30.200:52638]脚本 ' /var/www/aaa.php'未找到或无法统计
[Wed May 04 13:18:41.256596 2016] [:error] [pid 54583] [client 192.168.30.200:52638] script '/var/www/aaa.php' not found or unable to stat
TNX!
答案 0 :(得分:5)
您可以在rsyslog配置文件中添加自定义模板。所以在/etc/rsyslog.d
中,找到配置相关日志文件的配置文件。如果您正在谈论系统日志,那么您可以添加自定义模板并将配置行更改为:
$template myFormat,"%msg%\n"
*.* -/var/log/syslog; myFormat
此外,如果您希望将该模板用于所有日志文件,则可以将其添加到rsyslog配置文件中,因此您无需将模板专门添加到日志文件行中:
$template myFormat,"%msg%\n"
$ActionFileDefaultTemplate myFormat
答案 1 :(得分:0)
建议使用:
$template myFormat,"%msg:2:2048%\n
使用%msg:2:2048%
,syslog
事件的消息部分立即开始。