我的logback.xml中有这个conf:
<logger name="L1" additivity="false">
<appender-ref ref="${SELECTED_CONSOLE}" />
</logger>
<root level="${LOG_LEVEL}">
<appender-ref ref="${SELECTED_CONSOLE}" />
</root>
我的问题是,在某些环境下,如果尚未定义LOG_LEVEL var,那么L1的日志级别将是什么?
答案 0 :(得分:0)
如果未定义LOG_LEVEL
参数,则Logback会将其视为以下字符串:
LOG_LEVEL_IS_UNDEFINED
然后登录将把该值转换为ch.qos.logback.classic.Level.DEBUG
(请参阅ch.qos.logback.classic.Level.toLevel()
的实现)
因此,您的根记录器级别将为DEBUG
,并且由于L1记录器未声明任何级别,它将继承该级别。因此,如果未定义LOG_LEVEL
,则L1的日志级别将为:DEBUG
。
L1的可加性为假的事实并不能改变这一点;可加性可防止L1记录器的父母使用其附加程序显示消息,这不会影响推断的日志级别。