【问题标题】:Not Seeing MDC Properties in logs在日志中看不到 MDC 属性
【发布时间】:2022-10-15 02:20:56
【问题描述】:

我有一个简单的程序,如下所示

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;

    public class SLF4JMDC {
      private static Logger LOGGER = LoggerFactory.getLogger(SLF4JMDC.class);
    
      public static void main(String[] args) {
        MDC.put("user", "rafal.kuc@sematext.com");
        LOGGER.info("This is an info level log message!");
        LOGGER.warn("This is an WARN level log");
      }
    }

当我运行这个程序时,输出只是

这是一条信息级别的日志消息! 这是一个 WARN 级别的日志

它没有在日志中显示 MDC 属性

【问题讨论】:

  • 你的记录器配置是什么?

标签: java logging slf4j


【解决方案1】:

您需要更改日志级别以启用日志记录警告。常用的日志级别有ERRORWARNINFODEBUGTRACE。不太重要的日志将被忽略。

日志优先级为:

Trace<Debug<Info<Warn<Error<Fatal

您可以通过自定义配置或在代码中调用相关 API 来更改级别。

  • 代码:

    Logger root = (Logger)LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
    root.setLevel(Level.INFO);
    
  • 配置:找到配置文件名simplelogger.properties并进行相应修改。

    org.slf4j.simpleLogger.defaultLogLevel=warn
    

【讨论】:

    猜你喜欢
    • 2012-11-30
    • 1970-01-01
    • 2020-05-24
    • 2020-06-30
    • 2022-12-15
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多