簡體   English   中英

Log4j2 / JPA / Hibernate日志記錄無法正常工作

[英]Log4j2/JPA/Hibernate logging is not working

我無法用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>

Hibernate使用jboss-logging進行日志記錄。 現在Hibernate 4.3.7.Final使用jboss-logging 3.1.3.GA,它不支持與log4j2的任何綁定, 它的最后一個版本(3.2.0.Final) 已經做了 ,所以你唯一需要做的就是添加新的那一個:

<!-- 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 -->

我找到了解決方案。 Hibernate肯定使用jboss-logging,因此hibernate-core和hibernate-entitymanager的版本是3.1.3.GA,當它升級到最新的3.2.0.Final時,一切都開始正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM