【发布时间】: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.html 和 maven.apache.org/plugins/maven-project-info-reports-plugin/…。
标签: java logging logback slf4j