使用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_name
和field2_name
与价值观field_value
和field2_value
。 addExtendedInformation=true
属性指示Graylog将这些字段添加到所有日志条目。