使用 SyslogAppender 在 log4j 中添加自定义字段
Posted
技术标签:
【中文标题】使用 SyslogAppender 在 log4j 中添加自定义字段【英文标题】:Adding a custom field in log4j using SyslogAppender 【发布时间】:2017-02-23 13:31:26 【问题描述】:我在我的 java 应用程序中使用 SyslogAppender,并且我正在尝试将自定义字段添加到生成的日志中。如何向我的 log4j.properties 添加其他字段?
我当前的 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、test、dev)。
【问题讨论】:
【参考方案1】:从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 将这些字段添加到所有日志条目中。
【讨论】:
以上是关于使用 SyslogAppender 在 log4j 中添加自定义字段的主要内容,如果未能解决你的问题,请参考以下文章
在 Alfresco 的 log4j.properties 中配置 SyslogAppender
log4j SyslogAppender - TCP 支持?
log4j SyslogAppender 不会将日志发送到 syslog