2016-06-09 14 views
0

Ich habe unter allen möglichen Änderungen vorgenommen, um Hibernate und JDBC Logger Logger zu vermeiden, aber ich bin immer noch unter Logs in meiner JBOSS-Anwendung.Wie zu vermeiden, Hibernate und JDBC logging log4j Logger

Ich möchte diese Hibernate und JDBC-Logs nicht protokollieren.

Meine Änderungen in log4j.properties:

1.log4j.logger.org.hibernate = WARNUNG

2.log4j.logger.org.hibernate.SQL = OFF

log4j .logger.org.springframework.transaction = DEBUG log4j.logger.org.springframework.orm.hibernate4.HibernateTransactionManager = DEBUG

Jave Änderungen am Code

1. org.jboss.logging.Logger logger = org.jboss.logging.Logger.getLogger("org.hibernate"); 
     java.util.logging.Logger.getLogger("org.hibernate").setLevel(java.util.logging.Level.OFF); 

    2. java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.OFF); 

Logger Ausgabe:

Schließen Hibernate Session [SessionImpl (PersistenceContext [entityKeys = [], collectionKeys = []]; ActionQueue [Anzeigen = [] updates = [] Löschungen = [] collectionCreations = [] collectionRemovals = [] collectionUpdates = []])] nach der Transaktion Wiederfreigabe autocommit Releasing JDBC Verbindung freigegeben JDBC Verbindung HHH000163: Logische Verbindung seine physikalische Verbindung freigegeben Freigabe JDBC Verbindung

+0

Bitte posten Sie Ihre vollständige log4.properties-Datei. – Saheed

Antwort

0

java.util.logging ist komplett anders als log4j, so dass die Codeänderungen, die Sie vorgenommen haben, keine Auswirkungen auf die Protokollanweisungen haben, die Sie unterdrücken möchten.

Stattdessen diese Zeilen deaktivieren kommentieren sollten für diese Komponenten Anmeldung:

#log4j.logger.org.hibernate=WARNING 
#log4j.logger.org.hibernate.SQL=OFF 
+0

funktioniert immer noch nicht, da ich diese Zeilen in log4j.properties kommentiert habe file.log4j.rootLogger = DEBUG, DATEI log4j.appender.FILE = org.apache.log4j.RollingFileAppender log4j.appender.FILE.File = $ {log } /dctlog.log log4j.appender.FILE.MaxFileSize = 10MB log4j.appender.FILE.MaxBackupIndex = 10 log4j.appender.FILE.layout = org.apache.log4j.PatternLayout log4j.appender.FILE.layout. ConversionPattern =% m% n log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout – shakti

+0

Erhöhen Sie Ihre Root-Logger-Ebene von DEBUG zu INFO: 'log4j.rootLogger = INFO, stdout, FILE'; Oh, und Sie sollten Ihre log4j.properties-Datei definitiv in Ihre Frage einfügen und NICHT als Kommentar, wie Sie es getan haben. – Saheed

0

Angenommen, Sie sind mit Hibernate, die von dem Behälter Protokollierung zur Verfügung gestellt wird durch das Logging-Subsystem konfiguriert werden und nicht Ihre log4j.properties Datei .

Sie können die folgenden CLI-Befehle verwenden, um die SQL-Protokollierung zu deaktivieren und den Ruhezustand so zu ändern, dass nur bei einer Warnstufe protokolliert wird.

/subsystem=logging/logger=org.hibernate:add(level=WARN) 
/subsystem=logging/logger=org.hibernate.SQL=OFF 

Soweit ich weiß standardmäßig protokolliert Hibernate SQL-Anweisungen nicht. Überprüfen Sie auch Ihre persistence.xml, um sicherzustellen, dass Sie die Protokollierung von SQL-Anweisungen dort nicht aktiviert haben.

+0

, verwende ich Hibernate nur SeesionFactory-Objekt zu erhalten und Abfrage mit SQLQuery-Objekt wie unten ausgeführt. @Autowired SessionFactory sessionFactory; SQLQuery query = sessionFactory.getCurrentSession(). CreateSQLQuery (""); resultList = query.list(); Ich habe keine persistence.xml, meine hibernate.cfg.xml Datei ist leer. Ich weiß nicht, wo ich zum Blockieren des Ruhezustands wechseln soll und sql meldet sich im Logger an. – shakti

+0

Haben Sie versucht, diese beiden CLI-Befehle auszuführen? –

Verwandte Themen