我使用 logback.xml 进行日志记录。我想禁用来自 3rd 方 jars/sdk 的日志。为此,我对该 jar 使用了日志级别 =“OFF”,但仍然记录日志。接下来,我尝试对代码库中的一个文件使用相同的日志级别,我能够禁用我的文件的日志。
以下是我的 logback 配置:
'''
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern> Some pattern </pattern>
</encoder>
</appender>
<logger name="<sdk file path>" level="OFF"/> !--- This doesn't work ---!
<logger name="<file from my codebase>" level="OFF"/> !--- This works ---!
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
'''
答案 0 :(得分:3)
库可以使用它喜欢的任何 name
作为记录器,因此 name
不一定与库的路径匹配。
%logger
中的 pattern
字段给出了记录器的 name
,因此您将在日志输出中看到实际名称。如果您看到要抑制的输出,请在 name
元素中使用日志中的 logger
(或前缀)。
我还建议将 root
设置为最低级别,然后为您感兴趣的特定库增加级别。
<logger name="myloggername" level="DEBUG"/>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>