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

xdnvmnnf  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(212)

我最近更新到了log4j 2(通过log4j-1.2-api桥),在此迁移之后,通过MDC传递的一些数据以及之前运行良好的日志的一些行消失了,这些行来自同一类中定义的另一个记录器。我想知道为什么只有一个记录器会发生这种情况,而另一个记录器不会,而且这种情况是随机发生的,这意味着在某些情况下,同一个记录器拥有MDC数据,而在其他一些情况下,则没有。

0s0u357o

0s0u357o1#

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

log4j2.isThreadContextMapInheritable=true

相关问题