【发布时间】:2015-05-10 01:05:46
【问题描述】:
我正在使用 log4j 和 SyslogAppender 类将消息发送到在本地 Linux 机器(称为 orion)上运行的 rsyslog。我目前有以下模式:
log4j.appender.SYSLOG_LOCAL1.layout.conversionPattern=[%p] %m%n
产生这个输出:
Jun 5 16:16:09 orion [ERROR]: <My message here>
这没有显示消息的来源,所以我想添加它,但不幸的是,当我在方括号前添加任何内容时,主机名消失了。例如。
log4j.appender.SYSLOG_LOCAL1.layout.conversionPattern=TEST [%p] %m%n
Jun 5 16:22:41 TEST [ERROR]: <My message here>
导致这个问题的不仅仅是文字。例如,如果我使用来自documentation 的示例模式,"%-5p [%t]: %m%n",主机名也不存在:
log4j.appender.SYSLOG_LOCAL1.layout.conversionPattern=%-5p [%t]: %m%n
Jun 5 16:25:34 ERROR [main]: <My message here>
这是我能想出的最简单的例子来演示使用模式aaa 和[aaa] 的问题:
log4j.appender.SYSLOG_LOCAL1.layout.conversionPattern=aaa
Jun 5 17:47:29 aaa
log4j.appender.SYSLOG_LOCAL1.layout.conversionPattern=[aaa]
Jun 5 17:48:24 orion [aaa]:
文档没有显示方括号有任何特殊含义,所以我不明白为什么会这样。我也不清楚这个问题是由 SyslogAppender 类还是 rsyslog 引起的。
如何在系统日志消息中保留主机名而不用方括号括起第一项?
【问题讨论】:
-
您找到解决方案了吗? :)
-
很遗憾我没有。
-
@guitar_freak 我有,现在。