首页 > 解决方案 > 如何在 logback 中打印 mdc 值

问题描述

我没有在 logback 中获得 mdc 值

你能帮我么

Java代码:

       String traceId = MDC.get(getJlgConfiguration().getTraceId());
        String sessionId = MDC.get(getJlgConfiguration().getSessionId());

Logback.xml

<configuration scan="true" scanPeriod="60" debug="true">

    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} - %class{0}.%M %L, ole-session-id:%mdc{ole-session-id:-NONE}, jlg-trace-id:%mdc{jlg-trace-id:-NONE} - %msg%n
        </Pattern>
    </encoder>
    <root level="info">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

标签: javaspring-bootlogbackatgmdc

解决方案


您必须使用 %X 而不是 %mdc

%d{yyyy-MM-dd HH:mm:ss} - %class{0}.%M %L, ole-session-id:%X{ole-session-id:-NONE}, jlg-trace-id:%X{jlg-trace-id:-NONE} - %msg%n

查看文档以获取更多信息 http://logback.qos.ch/manual/mdc.html


推荐阅读