在 Scala 中禁用来自 SDKs/jars 的日志记录
Disable logging from SDKs/jars in scala
我正在使用 logback.xml 进行日志记录。我想禁用来自第 3 方 jars/SDKs 的日志。为此,我为那个 jar 使用了 log level="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>
'''
库可以使用它喜欢的任何 name
作为记录器,因此 name
不一定与库的路径匹配。
pattern
中的 %logger
字段给出记录器的 name
,因此您将在日志输出中看到实际名称。如果您看到要抑制的输出,请在 logger
元素中使用日志中的 name
(或前缀)。
我还建议将 root
设置为最低级别,然后针对您感兴趣的特定库提高级别。
<logger name="myloggername" level="DEBUG"/>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>
我正在使用 logback.xml 进行日志记录。我想禁用来自第 3 方 jars/SDKs 的日志。为此,我为那个 jar 使用了 log level="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>
'''
库可以使用它喜欢的任何 name
作为记录器,因此 name
不一定与库的路径匹配。
pattern
中的 %logger
字段给出记录器的 name
,因此您将在日志输出中看到实际名称。如果您看到要抑制的输出,请在 logger
元素中使用日志中的 name
(或前缀)。
我还建议将 root
设置为最低级别,然后针对您感兴趣的特定库提高级别。
<logger name="myloggername" level="DEBUG"/>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>