【问题标题】:MDC value returns emptyMDC 值返回空
【发布时间】:2017-10-18 17:03:56
【问题描述】:

我正在做一个 dropwizard 项目。在 config.yml 文件中,我使用 MDC 变量指定控制台附加程序的日志格式。例如

   appenders:
   - type: console
      logFormat: "date=%d{yyyy-MM-dd HH:mm:ss} username=%mdc{userName} %t %logger{5} - %X{code} message=%msg %n"
      threshold: ${CONSOLE_LOG_LEVEL:-INFO}

但是 MDC 变量在日志中返回一个空值。 但是我可以通过代码中其他地方的 MDC.get("userName") 成功检索。

【问题讨论】:

    标签: logging dropwizard mdc


    【解决方案1】:

    我观察到,返回空值有两种可能性。

    1. 在你的情况下,首先在各自的代码文件中添加记录器

      private static final Logger LOGGER = LoggerFactory.getLogger(YourClassName.class);
      

      然后添加 MDC.put("key", "your Values")

      最后,必须调用任何记录器方法,比如说添加下面的语句

      LOGGER.info("Some log Statemenet"); OR debug/error method>=.
      
    2. 从记录器配置文件中删除 %mdc 并尝试使用 %X{userName}

    试试看,然后告诉我。

    【讨论】:

      猜你喜欢
      • 2019-07-15
      • 2021-07-07
      • 1970-01-01
      • 2021-12-21
      • 2015-11-07
      • 2020-05-20
      • 2020-11-08
      • 2013-10-09
      • 2012-09-25
      相关资源
      最近更新 更多