logback root level logger level 日志级别覆盖?继承?

时间:2021-09-14 14:55:33

1. logback-spring.xml 配置

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
...
</appender> <appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
...
</appender> <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
...
</appender> <logger name="指定包名/类,日志级别" level="DEBUG"/> <root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ALL"/>
<appender-ref ref="ERROR"/>
</root>

2.日志级别

TRACE < DEBUG < INFO < WARN < ERROR

3.问答

为何root配置的INFO,logger特殊指定的包/类日志DEBUG级别,最后也能打印出来?

答案:因为没有设置addtivity="false" ,如下图即可。

 <logger name="包名/类名" level="DEBUG" addtivity="false" />

logger有一个配置addtivity="true" 默认就是true,标识向上级传递日志(INFO是DEBUG的上级)。只有显示指定为false时,才不会向上级输出。