Spring Boot Logback配置:启动冗余日志的移除与格式化
解决Logback启动冗余日志问题
这些冗余日志是Logback自身启动过程中输出的调试/信息日志,和业务日志配置无关,以下几种方法可以解决:
1. 直接屏蔽Logback内部日志
在你的logback-spring.xml或logback.xml中,添加对Logback自身Logger的级别配置,直接把它们的日志级别设为OFF,就能彻底屏蔽这些输出:
<!-- 屏蔽Logback自身的启动日志 --> <logger name="ch.qos.logback" level="OFF"/> <logger name="org.springframework.boot.logging.logback" level="OFF"/>
2. 通过Spring Boot配置提前控制日志级别
如果不想修改Logback配置文件,也可以在Spring Boot的配置文件(application.properties或application.yml)中添加以下配置:
# 关闭Logback内部日志 logging.level.ch.qos.logback=OFF logging.level.org.springframework.boot.logging.logback=OFF
或者在启动应用时添加JVM参数,提前生效日志级别:
-Dlogging.level.ch.qos.logback=OFF
3. 修复配置中的Layout警告(可选)
从日志里能看到ConsoleAppender的警告,提示应该用Encoder而非Layout,修复这个配置可以减少额外的警告输出,让配置更规范:
把原来的Layout配置:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>你的日志格式</pattern> </layout> </appender>
替换为Encoder配置:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>你的日志格式</pattern> </encoder> </appender>
内容的提问来源于stack exchange,提问作者Matthias
相关产品推荐
相关产品推荐

