2012-11-21 11 views
6

Sto utilizzando Hibernate per un piccolo progetto dimostrativo. Sto usando Eclipse e avvio il programma da Eclipse, che stamperà l'output del programma sulla console Eclipse.Disattiva registrazione Hibernate

È un semplice progetto Java, niente Maven, niente Spring, niente niente. Ho appena aggiunto le librerie di ibernazione richieste al mio percorso di build, che include anche jboss-logging-3.1.0.GA (che include alcune classi log4j, quindi suppongo che log4j sia al lavoro qui).

Ci sono molte persone che fanno questa domanda sul web, ma nessuna delle soluzioni proposte funziona per me.

Ho creato un file log4j.properties all'interno della directory src del mio progetto (quindi sarà definitivamente sul classpath). Il file log4j.properties viene copiato nella directory bin da Eclipse durante la creazione del progetto. Contiene una sola riga:

log4j.logger.net.sf.hibernate=fatal 

che ho trovato sul web. Ho anche provato con

log4j.logger.org.hibernate=fatal 

che non aiuta neanche.

Ancora ottengo seguente output della console, che sono tutti i messaggi di informazione (che non dovrebbe apparire come ho impostato la gravità di 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 

Ho anche provato ad aggiungere -Dlog4j.configuration = log4j .properties agli argomenti VM della mia configurazione di esecuzione di Eclipse. Non aiuta in entrambi i modi ...

risposta

2

Controlla questa risposta. Mostra come disabilitare log4j a livello di codice.

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

+0

Grazie che hanno funzionato. Tuttavia, sembra che l'API sia cambiata con lo4j 2.x. Io uso log4j 1.2.x ora, e questo funziona. . LogManager.getRootLogger() setLevel (Level.OFF); è abbastanza però –

+0

ciao. la soluzione con il file log4j.properties non funziona per me. ho anche provato il LogManager.getRootLogger() ma non ho questo metodo. io uso Hibernate 5.2. e ho jboss logging non direttamente log4j. Grazie – pillesoft

2

È possibile utilizzare file di configurazione log4j.

Per poter utilizzare log4j.properties file di aggiungere questo alla tua registrazione pom.xml

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

Per disabilitare, si può mettere questo nel file src/test/resources/log4j.properties

log4j.rootLogger=OFF