本文主要是介绍logback使用的几个问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
logback使用的几个问题
一、logger与root
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定。仅有一个name属性,一个可选的level和一个可选的addtivity属性。
name:用来指定受此logger约束的某一个包或者具体的某一个类。
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。如果未设置此属性,那么当前logger将会继承上级的级别。
addtivity:是否向上级logger传递打印信息。默认是true。
logger可以包含零个或多个元素,标识这个appender将会添加到这个logger。如果有多个元素,日志都会打印到添加的中
比如:
<logger name="monitor" level="${LEVEL}" additivity="false" >
<appender-ref ref="MONITOR" />
<appender-ref ref="ERROR" />
</logger>
logger.error("error",e);会将日志打印到<appender-ref ref="MONITOR" />和<appender-ref ref="ERROR" />中<root>
也是元素,但是它是根logger。只有一个level属性,应为已经被命名为"root".
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。
默认是DEBUG。
可以包含零个或多个元素,标识这个appender将会添加到这个logger。
logger的appender根据参数additivity决定是否要叠加root的appender,logger的级别是其自身定义的级别,和root的级别没什么关系。
判断一个类的日志输出情况,首先找到这个类所在的logger(没有特别定义则默认为root),然后根据以上规则判断出这个logger的appender和level。然后既可以知道这个类的哪些日志会被输出到哪些地方了。注意:任何一个类只会和一个logger对应,要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level
这篇关于logback使用的几个问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!