2012-11-21 25 views
6

Ich verwende Hibernate für ein kleines Demo-Projekt. Ich benutze Eclipse und starte das Programm in Eclipse, das die Programmausgabe auf die Eclipse-Konsole überträgt.Hibernate-Protokollierung deaktivieren

Es ist ein einfaches Java-Projekt, kein Maven, kein Frühling, nichts. Ich habe gerade die benötigten Hibernate-Bibliotheken zu meinem Build-Pfad hinzugefügt, der auch jboss-logging-3.1.0.GA enthält (was einige log4j-Klassen beinhaltet, also nehme ich an, dass log4j hier arbeitet).

Es gibt viele Leute, die diese Frage im Internet stellen, aber keine der vorgeschlagenen Lösungen funktioniert für mich.

Ich habe eine log4j.properties-Datei im src-Verzeichnis meines Projekts erstellt (also wird es definitiv auf dem Klassenpfad sein). Die Datei log4j.properties wird von Eclipse in das Verzeichnis bin kopiert, wenn das Projekt erstellt wird. Es enthält eine einzige Zeile:

die ich im Internet gefunden habe. Ich habe auch versucht mit

log4j.logger.org.hibernate=fatal 

was auch nicht hilft.

Still I folgende Konsolenausgabe erhalten, die alle Info-Nachrichten (die nicht angezeigt werden sollen, als ich die Schwere zu fatalen gesetzt ...):

21.11.2012 19:53:51 org.hibernate.annotations.common.Version <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 
21.11.2012 19:53:51 org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {4.1.8.Final} 
21.11.2012 19:53:51 org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
21.11.2012 19:53:51 org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000115: Hibernate connection pool size: 20 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000006: Autocommit mode: true 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/quellsystem] 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto} 
21.11.2012 19:53:52 org.hibernate.dialect.Dialect <init> 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect 
21.11.2012 19:53:52 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService 
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory 
21.11.2012 19:53:52 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init> 
INFO: HHH000397: Using ASTQueryTranslatorFactory 

Ich habe auch versucht das Hinzufügen -Dlog4j.configuration = log4j .properties für die VM-Argumente meiner Eclipse-Laufkonfiguration. Es hilft auch nicht ...

Antwort

2

Überprüfen Sie diese Antwort. Es zeigt, wie log4j programmgesteuert deaktiviert werden kann.

https://stackoverflow.com/a/6736961/204435

+0

Dank setzen, die funktionierte. Die API scheint sich jedoch mit lo4j 2.x geändert zu haben. Ich benutze jetzt log4j 1.2.x, und das funktioniert. LogManager.getRootLogger(). SetLevel (Level.OFF); ist aber genug. –

+0

Hallo. Die Lösung mit der Datei log4j.properties funktioniert nicht für mich. Ich habe auch den LogManager.getRootLogger() versucht, aber ich habe diese Methode nicht. Ich benutze Hibernate 5.2., und ich habe jboss Protokollierung nicht direkt log4j. Vielen Dank – pillesoft

2

Sie können log4j Konfigurationsdatei verwenden.

der Lage sein, die Protokollierung verwenden log4j.properties Datei fügen Sie diese zu Ihrer pom.xml

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.15</version> 
</dependency> 

zu deaktivieren, können Sie dies in Ihrer src/test/resources/log4j.properties Datei

log4j.rootLogger=OFF