只会一点java

java持续学习者,每月一篇博客。罗列出技术栈,慢慢完善,持续学习,总有一天,你会追上甚至超越曾经的大神。
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2019-01-25 17:09  只会一点java  阅读(16235)  评论(2编辑  收藏  举报

1. logback-spring.xml 配置

 1  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
 2     ...
 3 </appender>
 4 
 5 <appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
 6     ...
 7 </appender>
 8 
 9 <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
10     ...
11 </appender>
12 
13 <logger name="指定包名/类,日志级别" level="DEBUG"/>
14 
15 <root level="INFO">
16         <appender-ref ref="STDOUT"/>
17         <appender-ref ref="ALL"/>
18         <appender-ref ref="ERROR"/>    
19 </root>    

2.日志级别

TRACE < DEBUG < INFO < WARN < ERROR

3.问答

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

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

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

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