【问题标题】:LoggerFields for Syslog with log4j2.properties file带有 log4j2.properties 文件的 Syslog 的 LoggerFields
【发布时间】:2017-12-21 02:31:45
【问题描述】:

有 log4j2 syslog 的示例,用于使用 key、value 将优先级添加到带有 xml 的日志中,但对于 log4j.properties 文件,我们无法将 = 符号添加到 value,我没有任何示例来设置 LoggerFields 以设置优先级RFS5454 格式。

这个很接近LoggerFields for Syslog (output log priority and stack trace)

以下均不适用于 LoggerField:

appender.sumo_syslog.loggerFields={'key' : 'priority', 'value' : '%p'} 或者 appender.sumo_syslog.loggerFields=[{'key' : 'priority', 'value' : '%p'}] 或者 appender.sumo_syslog.loggerFields.keyValuePair={'key' : 'priority', 'value' : '%p'}

【问题讨论】:

  • appender.sumo_syslog.type = 系统日志 appender.sumo_syslog.name = sumo_syslog\n #appender.sumo_syslog.layout.type = PatternLayout\n #appender.sumo_syslog.layout.pattern = %-5p %- 25c{1.} %marker%m%n\n appender.sumo_syslog.port = 514\n appender.sumo_syslog.host = localhost\n appender.sumo_syslog.facility = local6\n appender.sumo_syslog.protocol = UDP\n appender .sumo_syslog.format = RFC5424\n appender.sumo_syslog.appName="es-5x"\n appender.sumo_syslog.mdcId="mcd"\n appender.sumo_syslog.charset = UTF-8\n
  • 以下都不起作用: appender.sumo_syslog.loggerFields={'key' : 'priority', 'value' : '%p'} 或 appender.sumo_syslog.loggerFields=[{'key' : '优先级', '值' : '%p'}] appender.sumo_syslog.loggerFields.keyValuePair={'key' : '优先级', '值' : '%p'}

标签: log4j2 rsyslog


【解决方案1】:

你可以这样使用:

appender.syslog.type = Syslog
appender.syslog.name = syslog
appender.syslog.facility = LOCAL0 
appender.syslog.host = X.X.X.X
appender.syslog.appName = API-TEST
appender.syslog.enterpriseNumber = 18060
appender.syslog.port = 514
appender.syslog.newLine = true
appender.syslog.protocol = TCP
appender.syslog.format = RFC5424
appender.syslog.messageId = Audit
appender.syslog.id = system1
appender.syslog.mdcId = mdc
appender.syslog.layout.type = loggerFields
appender.syslog.layout.pairs.type = KeyValuePair
appender.syslog.layout.pairs.key = category
appender.syslog.layout.pairs.value = %c
appender.syslog.layout.pairs2.type = KeyValuePair
appender.syslog.layout.pairs2.key = message
appender.syslog.layout.pairs2.value = %m
appender.syslog.layout.pairs3.type = KeyValuePair
appender.syslog.layout.pairs3.key = exception
appender.syslog.layout.pairs3.value = %ex

【讨论】:

  • 这是一个答案,它可能是一个有效的答案。但是,这不是一个很好的答案,因为它没有解释为什么这个答案有效。
  • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
猜你喜欢
  • 2021-01-07
  • 2021-09-29
  • 1970-01-01
  • 2015-07-26
  • 2021-04-24
  • 2018-12-04
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
相关资源
最近更新 更多