java - Log4j2/JPA/Hibernate 日志记录不工作

标签 java hibernate logging orm log4j2

我无法使用 log4j2 生成 hibernate 日志消息。它仅记录 INFO 和 WARN。另一方面,HikariCP 与此配置完美配合。这是 pom.xml:

    ... <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.1</version>
    </dependency> ...

log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{ABSOLUTE} %5p %c{1}:%L - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <!--<Logger name="org.apache.log4j.xml" level="debug"/>-->
        <Root level="info">
            <AppenderRef ref="STDOUT"/>
        </Root>
        <Logger name="org.hibernate" level="debug"/>
        <Logger name="org.hibernate.SQL" level="debug"/>
        <Logger name="com.zaxxer.hikari" level="debug" />
    </Loggers>
</Configuration>

最佳答案

使用 jboss-logging 的 Hibernate 日志。现在 Hibernate 4.3.7.Final 使用 jboss-logging 3.1.3.GA,它不支持与 log4j2 的任何绑定(bind),但是它的最新版本 (3.2.0.Final) already does , 所以你唯一需要做的就是添加新的:

<!-- HIBERNATE -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.3.7.Final</version>
</dependency>
<dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.2.0.Final</version>
</dependency>
<!-- HIBERNATE -->

关于java - Log4j2/JPA/Hibernate 日志记录不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27088083/

相关文章:

java - 简单的 apache 常见记录器

c# - log4Net RollingFileAppender 没有 "Roll"

java - 数组类返回地址

java - 为什么在下面的场景中会抛出不同类型的异常?

java - 引用具有指定参数的方法(用于 lambda)

hibernate - 如何使用 Hibernate 条件查询一个月的日期

java - 为什么在第一种情况下会抛出 SessionFactory 异常?

java - 一些基本的 JPA+Hibernate 问题?

android - android.util.Log 中的错误或功能? - Log.isLoggable(DEBUG) = false 但 Log.d() 未禁用

java - 刚开始使用 Java 哪个 IDE 更适合我?