设置defaultLogLevel=debug后无法输出DEBUG日志的问题求助
解决SLF4J SimpleLogger无法输出DEBUG日志的问题
排查与修复方案
- 修正系统属性拼写错误:你的启动命令里属性名存在拼写错误,正确的参数是
org.slf4j.simpleLogger.defaultLogLevel,而非org.sl4fj.simpleLogger.defaultLogLevel——注意是slf4j(多一个f),这是导致DEBUG日志不输出的核心原因。修正后的启动命令:java -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG -cp ... App - 校验Logger初始化代码:确保App.java中Logger是通过SLF4J标准方式获取的,示例代码:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { private static final Logger log = LoggerFactory.getLogger(App.class); public static void main(String[] args) { log.debug("Debug测试消息"); log.info("Info测试消息"); } } - IntelliJ运行配置检查:如果是在IDE内直接运行,需在「Run/Debug Configurations」的「VM options」中添加
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG,避免IDE的VM参数与手动命令行不一致。 - 清理并重新拉取依赖:执行Maven命令清理缓存,确保依赖包完整无损坏:
mvn clean install -U - 排查日志绑定冲突:通过Maven依赖树命令检查是否存在其他SLF4J绑定(如logback、log4j),这类绑定会覆盖simpleLogger:
确保只有mvn dependency:treeslf4j-simple这一个日志绑定依赖存在。
内容的提问来源于stack exchange,提问作者RobbieS
相关产品推荐
相关产品推荐

