Logback配置忽略了我的日志记录级别

时间:2014-05-28 22:52:29

标签: java logging logback

我在我的项目中获得了过多的记录,而且我在压制我不想要的记录声明时遇到了麻烦。

我使用我添加到POM中安装的Logback。

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.0.13</version>
</dependency>

我的日志始终以这三行开头:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

谷歌搜索表明这是Eclipse问题,而不是Logback配置问题,但是如果我的谷歌搜索误导我,我会包括它。

这是我的logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

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

  <logger name="com.my.project" level="TRACE"/>
  <logger name="o.a.cxf" level="INFO"/>
  <logger name="o.a.c" level="INFO"/>

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

这是我日志中的摘录

[INFO] 17:41:53.095 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_DH_anon_WITH_DES_CBC_SHA cipher suite is excluded by the filter.
[INFO] 17:41:53.095 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_RSA_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the filter.
[INFO] 17:41:53.095 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 cipher suite is excluded by the filter.
[INFO] 17:41:53.096 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the filter.
[INFO] 17:41:53.096 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the filter.
[INFO] 17:41:53.096 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the filter.
[INFO] 17:41:53.096 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA cipher suite is excluded by the filter.
[INFO] 17:41:53.097 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_RC4_128_SHA cipher suite is included by the filter.
[INFO] 17:41:53.103 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_RC4_128_MD5 cipher suite is included by the filter.
[INFO] 17:41:53.103 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_3DES_EDE_CBC_SHA cipher suite is included by the filter.
[INFO] 17:41:53.103 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_3DES_EDE_CBC_MD5 cipher suite is included by the filter.
[INFO] 17:41:53.104 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_DES_CBC_SHA cipher suite is included by the filter.
[INFO] 17:41:53.104 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_WITH_DES_CBC_MD5 cipher suite is included by the filter.
[INFO] 17:41:53.104 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_EXPORT_WITH_RC4_40_SHA cipher suite is included by the filter.
[INFO] 17:41:53.104 DEBUG o.a.c.t.h.HttpsURLConnectionFactory - The TLS_KRB5_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the filter.

我已经通过修改appender中的模式验证了我的logback.xml文件正在被读取。这些变化正在得到尊重。但我希望为&#34; o.a.c&#34;设置记录器。 INFO会抑制这些DEBUG消息。我假设[INFO]也来自Eclipse,后面的DEBUG是实际的记录器级别。

更新

这些记录器由Apache CXF记录。我的项目中有一个依赖项,它具有使用CXF生成的存根代码。当我使用该存根代码来调用Web服务时,会生成这些记录器。我没有写这些日志记录语句,所以我只能假设它们来自CXF。

另外,当我使用Log4j时,我没有看到这些记录器。我正在尝试学习Logback,因为我已被指派将其评估为团队的可能升级。

1 个答案:

答案 0 :(得分:6)

虽然它在日志消息中显示o.a.c.t.h.HttpsURLConnectionFactory,但记录器名称实际上不是o.a.c.t.h.HttpsURLConnectionFactoryo.a.c...只是全名的缩写。

我认为您应该在org.apache.cxf

中使用o.a.c代替o.a.cxflogback.xml