Hibernate (4.3.11-Final) 日志没有桥接到 log4j2?

sim*_*sim 3 logging spring hibernate log4j log4j2

我们正在从 log4j 迁移到 log4j2。我们使用以下库和日志机制:

Tomcat(使用 JULI)、Spring 4.2.0(使用 commons-logging)和 Hibernate 4.3.11-Final(使用 jboss-logging)。

我已成功将 Spring 桥接到 log4j2,但 Hibernate 日志记录不起作用。

根据 Hibernate 文档:

要在 Log4j2 中使用 JBoss Logging,还需要在类路径上提供 log4j2 jar。

我的类路径上有以下与日志相关的 jars:

  • commons-logging-1.2.jar
  • jboss-logging-3.1.3.GA.jar
  • jboss-logging-annotations-1.2.0.Beta1.jar
  • log4j-api-2.6.1.jar
  • log4j-core-2.6.1.jar
  • log4j-jcl-2.6.1.jar
  • log4j-slf4j-impl-2.6.1.jar
  • slf4j-api-1.7.5.jar
  • slf4j-log4j12-1.7.5.jar

任何想法为什么我没有看到我期望的结果?

Thi*_*rry 5

hibernate-4 中包含的 jboss-logging 版本与 log4j2 不兼容。

我必须导入版本 3.3.0.Final(应该从 3.1.4 开始,根据JBLOGGING-94),以便休眠与 log4j2 一起使用。

如果您使用 maven ,这是一个快捷方式:

<dependency> <!-- version working with log4j2 -->
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.3.0.Final</version>
    <scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)