无法在 Java 中为 slf4j 显示 .debug() 消息

Cannot get .debug() messages to show up for slf4j in Java

我无法让它工作。我还在 IntelliJ 中尝试了 --debug 选项。它总是打印“调试未启用”并且从不将我的 .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 以设置日志记录级别,但没有效果:

application.yml

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

我明白了。经过更多的探索之后,我更新了我的配置文件以设置日志记录级别如下:

/src/main/resources/application.yml

logging:
  level:
    ROOT: DEBUG

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