logback.xml配置文件logger与root标签详解

1. logger标签

<logger name=" " level=" " additivity=" " ></logger>
logger标签共有三个属性。

name: 必选,用来指定受此loger约束的某一个包或者具体的某一个类。

level: 用来设置打印级别(日志级别),大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。如果未设置此属性,那么当前loger将会继承上级的级别。

additivity: 是否向上级loger传递打印信息。默认是true。

<logger>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger。

2. root标签

<root level=" "></root>
root 标签只有一个level 属性,是logger的上级

level: 大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。默认是DEBUG。

<root>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个root。

3. 日志输出规则

root和logger是父子的关系,logger的appender根据参数additivity决定是否要叠加root的appender,logger的级别是其自身定义的级别,和root的级别没什么关系。

首先找到这个类所在的logger(没有特别定义则默认为root),然后根据以上规则判断出这个logger的appender和level,就可以知道这个类的哪些日志会被输出到哪些地方了。

注意:任何一个类只会和一个logger对应,要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level。
 

参考:

logback.xml配置篇-logger与root标签详解_Falling the bowie的博客-CSDN博客_logback.xml logger标签

log4j logback logger和root的关系_MOVING的博客-CSDN博客

Guess you like

Origin blog.csdn.net/ayang1986/article/details/127784580