rsyslog config仅将原始消息($ msg)存储到文件中

MrR*_*ing 2 linux logging syslog rsyslog

如何仅将原始消息存储到文件中?
例如:
我通过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
Run Code Online (Sandbox Code Playgroud)

我需要一个rsyslog配置来从输入中提取原始消息,而没有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] script'/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
Run Code Online (Sandbox Code Playgroud)

TNX!

dre*_*rew 5

您可以在rsyslog配置文件中添加自定义模板.因此/etc/rsyslog.d,找到配置相关日志文件的配置文件.如果您正在谈论syslog,那么您可以添加自定义模板并将配置行更改为:

$template myFormat,"%msg%\n"
*.*         -/var/log/syslog; myFormat
Run Code Online (Sandbox Code Playgroud)

此外,如果您希望该模板用于所有日志文件,则可以将其添加到rsyslog配置文件中,因此您不必将模板专门添加到日志文件行:

$template myFormat,"%msg%\n"
$ActionFileDefaultTemplate myFormat
Run Code Online (Sandbox Code Playgroud)

  • tnx @drewyupdrew,你的回答解决了我的问题.一些有用的链接:http://itsol.biz/custom-templates-rsyslog/ (2认同)