2012-11-21 4 views
6

J'utilise Hibernate pour un petit projet de démonstration. J'utilise Eclipse et je démarre le programme depuis Eclipse, ce qui permet d'imprimer la sortie du programme sur la console Eclipse.Désactiver la journalisation Hibernate

C'est un projet Java, pas de Maven, pas de Spring, pas de rien. J'ai juste ajouté les bibliothèques hibernate requises à mon chemin de construction, qui inclut également jboss-logging-3.1.0.GA (qui inclut des classes log4j, donc je suppose que log4j est à l'œuvre ici).

De nombreuses personnes posent cette question sur le Web, mais aucune des solutions proposées ne me convient.

J'ai créé un fichier log4j.properties dans le répertoire src de mon projet (donc il sera certainement sur le classpath). Le fichier log4j.properties est copié dans le répertoire bin par Eclipse lors de la génération du projet. Il contient une seule ligne:

log4j.logger.net.sf.hibernate=fatal 

que j'ai trouvé sur le web. J'ai également essayé avec

log4j.logger.org.hibernate=fatal 

qui n'aide pas non plus.

encore je suis sortie de la console suivante, qui sont tous les messages d'information (qui ne devrait pas apparaître comme je mets la gravité fatale à ...):

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 

J'ai aussi essayé d'ajouter -Dlog4j.configuration = log4j .properties aux arguments VM de ma configuration d'exécution Eclipse. N'aide pas de toute façon ...

Répondre

2

Cochez cette réponse. Il montre comment désactiver log4j par programme.

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

+0

Merci qui a travaillé. Cependant, l'API semble avoir changé avec lo4j 2.x. J'utilise maintenant log4j 1.2.x, et cela fonctionne. LogManager.getRootLogger(). SetLevel (Level.OFF); est assez cependant. –

+0

salut. la solution avec le fichier log4j.properties ne fonctionne pas pour moi. J'ai aussi essayé le LogManager.getRootLogger() mais je n'ai pas cette méthode. J'utilise hibernate 5.2., et j'ai jboss logging pas directement log4j. Merci – pillesoft

2

Vous pouvez utiliser le fichier de configuration de log4j.

Pour pouvoir utiliser le fichier log4j.properties ajouter à votre pom.xml

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

Pour désactiver la journalisation, vous pouvez mettre dans votre fichier src/test/resources/log4j.properties

log4j.rootLogger=OFF 
Questions connexes