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 ...
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. –
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