Log4j slf4j外部NDC模式布局

Log4j slf4j外部NDC模式布局,log4j,log4j2,pattern-layout,ndc,slf4j-api,Log4j,Log4j2,Pattern Layout,Ndc,Slf4j Api,NDC(嵌套诊断上下文)位于: org.slf4j slf4j分机 使用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" /&g

NDC(嵌套诊断上下文)位于:


org.slf4j
slf4j分机
使用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" />

最初,上面的“%x”将引用log4j中的NDC。 问题是如何在上面的PatternLayout中引用org.slf4j.NDC实现中MDC映射上创建的一组可能的“NDC”键。 我试图看看是否有办法对MDC(org.slf4j.NDC)上创建的“NDC”键进行后缀修复,但未能找到解决方案。 (例如,类似于%X{NDC},但允许显示以NDC开头的所有键,例如在org.slf4j.NDC实现中创建的键:“NDC0”、“NDC1”、“NDC2”、…) 我不确定这是否可行

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