Log4j slf4j外部NDC模式布局
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
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" />