选择日志提供程序

时间:2012-02-16 17:51:00

标签: java logging log4j slf4j

我已经将我的应用程序配置为使用slf4j和log4j,但是有些如何通过slf4j选择JBoss记录器:

  

org.jboss.logging [DEBUG] Logging Provider:org.jboss.logging.Log4jLoggerProvider。

我的应用程序使用spring和hibernate,据我所知,hibernate现在使用JBoss记录器而不是slf4j。有没有我强行使用slf4j?或者更好的是,让我的日志记录调用API不可知?就像现在一样,hibernate和spring正确记录,但我的应用程序特定日志记录被忽略,因为它使用了slf4j API。

更新:记录相关的jar(由maven管理)包括:

  1. SLF4J-API-1.6.1
  2. SLF4J-父 - 1.6.1
  3. SLF4J-简单-1.6.1
  4. SLF4J-log4j12-1.6.1
  5. 的JBoss-测井3.1.0.CR2
  6. 的log4j-1.2.12
  7. 感谢。

1 个答案:

答案 0 :(得分:2)

您的类路径中有太多日志记录实现。

显然Hibernate使用SLF4J:documentation

所以你应该删除以下罐子:

  • slf4j-simple-1.6.1(与slf4j-log4j冲突)
  • 的JBoss-测井3.1.0.CR2

我不太确定slf4j-parent-1.6.1是什么,你可以尝试使用和不使用它。