2012-02-16 28 views
1

我已经配置了我的应用程序中使用SLF4J与log4j的,但一些如何JBoss的记录被选中了SLF4J:选择日志提供

org.jboss.logging [DEBUG]记录提供者:org.jboss.logging .Log4jLoggerProvider。

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

UPDATE:日志记录相关的罐(其由行家管理)包括:

  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

谢谢。

+0

可以添加你把你的web应用的WEB-INF/lib中记录相关的jar的列表中? – foch 2012-02-16 20:20:46

+0

@foch:我已经添加了列表。 – Ari 2012-02-16 20:54:59

回答

2

你的类路径中有太多的日志实现。

显然,Hibernate使用SLF4J:documentation

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

  • SLF4J-简单1.6.1
  • 的jboss-测井(它SLF4J-log4j的冲突) 3.1.0.CR2

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

+0

感谢您的建议,我会删除这些罐子,看看会发生什么。至于使用SLF4J休眠,我看着你的联系,但是,在[4.0.1.Final的pom.xml]的文档(http://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/过4.0.1.Final/hibernate-entitymanager-4.0.1.Final.pom)文件的JBoss-日志记录:3.1.0.CR2被列为依赖关系。 – Ari 2012-02-17 01:59:25