gpt4 book ai didi

log4j - Log4j SyslogAppender是否支持MDC和NDC

转载 作者:行者123 更新时间:2023-12-02 02:02:14 36 4
gpt4 key购买 nike

真的很简单,Log4j SyslogAppender 是否支持 MDC 和 NDC,因为输出是结构化数据,即使用协议(protocol)的结构化数据功能?

此外,对于可以放入 MDC 并成功附加到日志的内容是否有任何限制?

最佳答案

MDC 和 NDC 都是 Syslog 协议(protocol)的一部分。因此,log4j 不(也不可能)支持 Syslog 协议(protocol)的结构化数据内的 MDC/NDC。但是,通过设置 ConversionPattern 参数以包含 MDC 信息,您可以在 syslog 消息的“消息”部分中添加 MDC 或 NDC 数据。

以下是带有键“ki”的 MDC 条目的示例:

log4j.rootLogger=INFO, SYSLOG
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.SyslogHost=a.host.name

# Facility must be one of the case-insensitive strings:
# KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON,
# AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6,
# LOCAL7
log4j.appender.SYSLOG.facility=KERN

log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%r %p %c %X{ki} - %m\n

对于 NDC,您可以将“%X{ki}”替换为“%x”(注意使用小写字母)。

对于问题的第二部分,您可以在 MDC 或 NDC 中放置的值没有限制。

关于log4j - Log4j SyslogAppender是否支持MDC和NDC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/938907/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com