slf4j-ext NDC PatternLayout

时间:2017-12-14 19:10:05

标签: log4j log4j2 pattern-layout ndc slf4j-api

NDC(嵌套诊断上下文):

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-ext -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-ext</artifactId>
</dependency>

使用org.slf4j.MDC实现。

在从log4j2实现迁移到使用slf4j(现有的org.apache.log4j.NDC到org.slf4j.NDC)时,我遇到了如何在现有PatternLayout中引用NDC的问题: 在我的log4j2.xml配置中,我定义了以下内容:

<PatternLayout pattern="[%d{MM-dd-yyyy HH:mm:ss,SSS zZ}] [%t] %x%n" />

原来上面的&#39;%x&#39;将从log4j引用NDC。 问题是如何引用可能的一组&#34; NDC&#34;在上面的PatternLayout中,在org.slf4j.NDC实现中的MDC映射上创建的键。 我试图看看是否有办法来修补&#34; NDC&#34;在MDC上创建的密钥(在org.slf4j.NDC中),但无法为此找到解决方案。 (即类似于%X {NDC},但允许显示以NDC开头的所有键,例如在org.slf4j.NDC实现中创建的键:&#34; NDC0&#34;,&#34; NDC1&#34 ;,&#34; NDC2&#34;,...) 我不确定这是否可能?

0 个答案:

没有答案