首页 > 解决方案 > 无法在 Java 中为 slf4j 显示 .debug() 消息

问题描述

我不能让它工作。我也尝试过--debugIntelliJ 中的选项。它总是打印“调试未启用”并且从不将我的 .debug() 消息打印到控制台。有任何想法吗?

.java 文件

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

public class MyClass {
    private final Logger logger = LoggerFactory.getLogger(MyClass.class);

    public void myMethod() {
        if (logger.isDebugEnabled()) {
            logger.info("debug is enabled");
        }
        else {
            logger.info("debug is not enabled");
        }
        logger.debug("\n\ntest debug message\n\n");
    }

src/main/resources/log4j.properties

log4j.rootLogger=debug, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

log4j.logger.com.mycompany=debug

我尝试更新我的 application.yml 以设置日志记录级别,但没有效果:

应用程序.yml

  logging:
    level:
      root: DEBUG
      org.springframework.web: DEBUG
      guru.springframework.controllers: DEBUG
      org.hibernate: DEBUG

标签: javalogginglog4jslf4j

解决方案


我想到了。在摸索了更多之后,我更新了我的配置文件以设置日志记录级别,如下所示:

/src/main/resources/application.yml

logging:
  level:
    ROOT: DEBUG

(注意:缩进级别很重要!它只有在 .yml 文件的最顶层才有效,即没有缩进)


推荐阅读