更新application.yaml日志级别后,DEBUG日志仍无法打印求助
解决Spring Boot中ROOT日志级别设为DEBUG但无输出的问题
问题核心在于你用了slf4j-simple这个日志实现,它不支持读取Spring Boot的application.yaml配置来调整日志级别,默认只会输出INFO及以上级别的日志,所以你的DEBUG配置根本没生效。
解决方案一:替换为Spring Boot默认日志实现(推荐)
Spring Boot默认使用Logback作为日志实现,它能完美识别application.yaml里的日志配置。你只需要移除slf4j-simple依赖,改用Spring Boot的日志starter即可:
修改pom.xml:
<!-- 删掉slf4j-simple依赖 --> <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.0</version> <scope>runtime</scope> </dependency> --> <!-- 如果项目里没引入日志starter,添加这个(一般spring-boot-starter-web等已经包含了) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
改完之后重启应用,application.yaml里的ROOT: DEBUG配置就会生效,DEBUG级别的日志就能正常输出了。
解决方案二:如果坚持用slf4j-simple
如果你一定要保留slf4j-simple,得用它自己的配置方式来设置日志级别:
方式1:启动时加JVM参数
在启动测试或应用时,添加参数:-Dorg.slf4j.simpleLogger.defaultLogLevel=debug方式2:添加配置文件
在项目的src/main/resources(测试环境用src/test/resources)下创建simplelogger.properties文件,写入:org.slf4j.simpleLogger.defaultLogLevel=debug
这样就能让slf4j-simple输出DEBUG级别的日志了。
内容的提问来源于stack exchange,提问作者DarkCrow
相关产品推荐
相关产品推荐

