我有以下记录器配置:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<!-- third party loggers-->
<logger name="org.springframework.web">
<level value="INFO"/>
</logger>
<root>
<priority value="debug"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
请给我解释一下为什么要写<priority value="debug"/>
标签内和 <level value="INFO"/>
里面logger
标签
这些值如何相互作用?
最佳答案
root
中的值是默认显示的级别。其他 logger 的值中的值是该包中类的覆盖,在本例中为 org.springframework.web。 (此外,这将是 org.springframework.web
中的任何内容,因此您可以将其视为 org.springframework.web.*
如果有帮助的话。)
(Some documentation on logging levels.)
不同的日志级别是
关闭
致命
错误
警告
信息
调试
跟踪
ALL
(仅当您具有自定义日志记录级别时,才会出现此与跟踪之间的差异。)
OFF
和 ALL
不是消息可以达到的级别,它们是记录器可以设置的级别。无论记录器设置为哪个级别,它都会显示每个级别及更低级别的消息。
例如,在您的情况下,您将 root
设置为 DEBUG
并将 org.springframework.web
设置为 INFO
.除了 org.springframework.web
包及其子包中的类之外的所有类都将显示除 TRACE
之外的所有内容,但其中的类将显示除 TRACE< 之外的所有内容
和 DEBUG
。
关于java - 记录器内部和根交互内部的严重性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216881/