2014-11-23 8 views
9

Ich kann nicht Ruhezustand Log-Nachrichten mit Log4j2 machen. Es protokolliert nur INFO und WARN. Auf der anderen Seite funktioniert HikariCP perfekt mit dieser Konfiguration. Hier ist die pom.xml:Log4j2/JPA/Hibernate Logging funktioniert nicht

... <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> 
+0

vergessen zu erwähnen, dass Winterschlaf das späteste 4.3.7 ist. Es verwendet jboss Protokollierung und laut Dokumentation sollte es gut mit log4j2 funktionieren. –

Antwort

3

ich die Lösung gefunden. Hibernate verwendet definitiv jboss-logging, so dass die Version mit hibernate-core und hibernate-entitymanager 3.1.3.GA ist und wenn es auf die neueste Version 3.2.0.Final aktualisiert wird, hat alles normal funktioniert.

19

Hibernate-Protokolle mit jboss-Protokollierung. Jetzt verwendet Hibernate 4.3.7.Final jboss-logging 3.1.3.GA, das keine Bindung mit log4j2, ABER seine letzte Version (3.2.0.Final) already does unterstützt, so dass das einzige, was Sie tun müssen, ist addieren Sie das neue:

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

Eigentlich müssen Sie nicht ausschließen. Sie müssen nur die neueste Version hinzufügen, und sie wird Vorrang vor der älteren haben. :) BTW, ich habe gerade eine PR dafür eröffnet: https://github.com/hibernate/hibernate-orm/pull/902 – dadoonet

+0

Du hast Recht! in der Tat war ich verwirrt, weil beim Ausschluss "artifactId" zuerst platziert wurde und bei der Abhängigkeit der zweite (nach der groupId) ... gedacht wurde, es war eine andere Gruppe/Artefakt. Danke @dadoonet, ich werde es bearbeiten;) – robert