linux - rsyslog 配置仅将原始消息 ($msg) 存储到文件

标签 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

我需要一个 rsyslog 配置来从输入中提取原始消息,没有 syslog header (下面突出显示):

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

预期输出:

[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 配置文件中添加自定义模板。因此,在 /etc/rsyslog.d 中,找到配置相关日志文件的配置文件。如果您在谈论系统日志,那么您可以添加自定义模板并将配置行更改为类似以下内容:

$template myFormat,"%msg%\n"
*.*         -/var/log/syslog; myFormat

此外,如果您想要所有日志文件的模板,您可以将其添加到您的 rsyslog 配置文件中,因此您不必专门将模板添加到您的日志文件行:

$template myFormat,"%msg%\n"
$ActionFileDefaultTemplate myFormat

关于linux - rsyslog 配置仅将原始消息 ($msg) 存储到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37023745/

相关文章:

ruby-on-rails - 在 rails 应用程序中使用 syslog

c - 跨内核的纳秒计时?

c - Linux 提示共享库不存在,而实际上它确实存在

python-2.7 - 在 Python 中将 str 消息插入 Unicode 日志模板时出现 UnicodeDecodeError

python - 如何更改 Django 日志记录的日期格式?

java - 通过Java触发的Spark程序中自定义log4j进行日志记录

linux - 如何检查 Ubuntu 上是否安装了 openSSH

linux - 如何编写 git 命令来分离历史文件?

ubuntu - OpenNMS Syslogd 配置

regex - 条件正则表达式,如何提取匹配的子集?