我无法使用 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/