使用SyslogAppender在log4j中添加一个自定义字段

问题描述:

我在我的Java应用程序中使用SyslogAppender,并试图将自定义字段添加到生成的日志中。我如何添加额外的字段到我的log4j.properties?使用SyslogAppender在log4j中添加一个自定义字段

我现在log4j.properties(最后一行显示我想达到的目标):

log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender 
log4j.appender.SYSLOG.threshold=INFO 
log4j.appender.SYSLOG.syslogHost=localhost 
log4j.appender.SYSLOG.facility=LOCAL4 
log4j.appender.SYSLOG.header=true 
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.SYSLOG.layout.conversionPattern=my-app: %m%n 
log4j.appender.SYSLOG.applicationName=${STACKNAME} 

的$ {} STACKNAME是系统属性由部署作业配置,根据不同的环境中(例如PROD ,测试,开发)。

this answer我得到了答案:加行

log4j.appender.graylog2.additionalFields={'filed_name': 'field_value', 'field2_name': 'field2_value'} 
log4j.appender.graylog2.addExtendedInformation=true 

添加field_namefield2_name与价值观field_valuefield2_valueaddExtendedInformation=true属性指示Graylog将这些字段添加到所有日志条目。