log4j2 MDC 数据未为某些记录器打印

问题描述 投票:0回答:1

通过 log4j-1.2-api 桥切换到 log4j2 后,我注意到某些日志行中丢失了 MDC 数据。这些行来自同一类中的单独记录器。令人费解的是,这种情况是随机发生的——有时 MDC 数据出现,有时则不出现。关于为什么会发生这种不一致的任何想法?

logging log4j log4j2 mdc
1个回答
1
投票

如果有人遇到同样的问题,这是因为 log4j 桥在后台使用 ThreadContext 来重定向 MDC 调用,并且 log4j2 中默认情况下不会激活线程继承,因此要使其激活,您可以添加一个 log4j2.component。 properties 文件并将此条目添加到其中:

log4j2.isThreadContextMapInheritable=true
© www.soinside.com 2019 - 2024. All rights reserved.