【问题标题】:Disable logging from SDKs/jars in scala在 scala 中禁用 SDK/jar 的日志记录
【发布时间】:2021-10-01 01:58:40
【问题描述】:

我正在使用 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>
'''

【问题讨论】:

  • 你能澄清一下“文件路径”是什么意思吗?也许举一个特定库的例子?
  • 文件路径表示:org.apache.commons.collections4.bag.AbstractBagDecorator jar 中文件的完整路径。以上仅供参考

标签: scala logging logback


【解决方案1】:

库可以使用它喜欢的任何name 作为记录器,因此name 不一定与库的路径匹配。

pattern 中的%logger 字段给出了记录器的name,因此您将在记录输出中看到实际名称。如果您看到要抑制的输出,请使用 logger 元素中日志(或前缀)中的 name

我还建议将root 设置为最低级别,然后针对您感兴趣的特定库提高级别。

<logger name="myloggername" level="DEBUG"/>

<root level="ERROR">
    <appender-ref ref="STDOUT"/>
</root>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2011-06-22
    • 2015-04-21
    • 2015-02-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多