【问题标题】:logback per-logger configuration is not working每个记录器的 logback 配置不起作用
【发布时间】:2011-02-03 14:54:07
【问题描述】:

我正在尝试禁用 logback-test.xml 中所有外部库的日志输出。不知何故,它不像宣传的那样工作,我不明白为什么。

这是我的 logback-test.xml 的内容:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>

    <!-- Turn off third party chatter -->
    <logger name="httpclient.wire" level="OFF" />
    <logger name="o.s" level="OFF"/>
    <logger name="org.spring" level="OFF"/>
    <logger name="org.apache" level="OFF"/>

    <root level="DEBUG">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

我明确关闭了 org.spring 记录器,但我仍然看到 Spring 的所有调试输出。但是,如果我在元素中指定不同的级别,它会起作用。任何想法为什么会发生?

【问题讨论】:

  • 不想问一个愚蠢的问题,但你确定 Spring 正在登录 logback 吗?默认情况下 Spring 使用 JCL,因此有必要将 jcl-over-sl4j jar 添加到类路径中并删除 commons-logging。
  • 绝不愚蠢,你是对的。我将 jcl-over-sl4j 添加为项目依赖项,但 commons-logging 也在类路径中。试图找出是谁把它拉进来的。
  • 你使用什么进行依赖管理? Maven 和 Ivy 都有可以提供帮助的预构建报告,即 ant.apache.org/ivy/history/2.1.0/use/report.htmlmaven.apache.org/plugins/maven-project-info-reports-plugin/…

标签: java logging logback slf4j


【解决方案1】:

答案是:知道您的记录器名称!所有 Spring 记录器都以 org.springframework 开头,而不是 org.spring。在我修复名称后,一切正常,即使类路径中存在公共日志记录。

【讨论】:

    猜你喜欢
    • 2013-04-27
    • 2015-08-10
    • 2014-09-26
    • 2017-05-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多