将JBoss 5.1与此appender一起使用时:
<appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Facility" value="LOCAL7"/>
<param name="FacilityPrinting" value="true"/>
<param name="SyslogHost" value="localhost"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
</layout>
</appender>
我看到日志记录的下一条消息(在EventLog Analyzer中):
local7:[13:32:45,763,SendingPool] Sending pool task executed. Pool size is [0
在WildFly 8.2.1中我有下一个处理程序配置:
<syslog-handler name="SYSLOG">
<level name="DEBUG"/>
<server-address value="localhost"/>
<facility value="local-use-7"/>
</syslog-handler>
消息:
1 2016-07-08T13:30:34.943+03:00 - java 910 com.mycompany.component.p - Sending pool task executed. Pool size is [0
如何更改syslog的消息格式?
答案 0 :(得分:2)
遗憾的是,没有办法使用syslog-handler
格式化邮件。这是一个疏忽,当它被创建并且有很长的时间JIRA来解决这个问题。
但是,您可以使用custom-handler
并使用格式化程序。
/subsystem=logging/pattern-formatter=syslog-formatter:add(pattern="local7: [%d{hh:mm:ss,SSS},%c{1}] %s")
/subsystem=logging/custom-handler=syslog:add(class=org.jboss.logmanager.handlers.SyslogHandler, module=org.jboss.logmanager, named-formatter=syslog-formatter, properties={hostname="localhost", facility="LOCAL_USE_7", protocol="TCP", useCountingFraming=true})
/subsystem=logging/root-logger=ROOT:add-handler(name=syslog)
请注意,如果您希望打印local7:
,则需要将其作为格式的一部分。无法在设施名称前添加消息。
看着:
1 2016-07-08T13:30:34.943+03:00 - java 910 com.mycompany.component.p - Sending pool task executed. Pool size is [0
这看起来像原始消息减去优先级。默认情况下,syslog处理程序将使用RFC 5424格式。如果要使用RFC 3164将syslogType=RFC3163
添加到上述自定义处理程序添加操作中的properties
属性,请删除useCountingFraming=true
。请注意,useCountingFraming=true
可能需要删除。这取决于您的系统日志服务器设置。