Konfigurieren der Hibernate-Protokollierung mithilfe der Log4j-XML-Konfigurationsdatei?
Ich habe nicht in der Lage zu finden, keine Dokumentation über die Konfiguration der Hibernate-logging-Verwendung von XML-style-Konfigurationsdatei für Log4j.
Ist das überhaupt möglich oder muss ich die Verwendung einer properties-Stil Konfigurationsdatei, um zu Steuern, Hibernate logging?
Wenn jemand irgendwelche Informationen oder links zur Dokumentation, es würde geschätzt.
EDIT:
Nur zur Klarstellung, ich bin auf der Suche für ein Beispiel der eigentlichen XML-syntax zu Steuern, den Ruhezustand.
EDIT2:
Hier ist, was ich in meiner XML-config-Datei.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="info"/>
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %c{1} - %m%n"/>
</layout>
</appender>
<appender name="rolling-file" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="Program-Name.log"/>
<param name="MaxFileSize" value="1000KB"/>
<!-- Keep one backup file -->
<param name="MaxBackupIndex" value="4"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %l - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
<appender-ref ref="rolling-file" />
</root>
</log4j:configuration>
Logging funktioniert gut, aber ich bin auf der Suche nach einem Weg, um Schritt nach unten und die Kontrolle der hibernate-logging in der Weise, dass getrennt von meiner application-level-logging, so wie es momentan ist Hochwasser meine logs. Ich habe festgestellt, Beispiele für die Verwendung der Präferenz-Datei, um dies zu tun, ich wurde nur gefragt, wie kann ich dies in eine XML-Datei.
InformationsquelleAutor der Frage James McMahon | 2009-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-logging
Hier ist die Liste der logger Kategorien:
Formatiert einfügen in eine log4j-XML-Konfiguration-Datei:
NB: die Meisten der Logger verwenden Sie die DEBUG-Ebene, aber org.hibernate.Typ mit TRACE. In früheren Versionen von Hibernate org.hibernate.geben Sie auch verwendet DEBUGGEN, aber wie von Hibernate 3 Sie müssen den level zu verfolgen (oder ALLE), um die JDBC-parameter verbindliche Anmeldung.
- Und eine Kategorie ist als solche angegeben:
Muss platziert werden, bevor das root-element.
InformationsquelleAutor der Antwort Loki
Loki's Antwort Punkte, um die Ruhezustand-3-docs und bietet gute Informationen, aber ich war noch immer nicht die Ergebnisse, die ich erwartet hatte.
Viel Prügel, winken, die Arme und die Allgemeine tote Maus läuft schließlich landete mir mein Käse.
Weil Hibernate 3 ist mit Simple Logging Facade for Java (SLF4J) (pro docs), wenn Sie befinden sich auf Log4j 1.2 Sie auch müssen die slf4j-log4j12-1.5.10.jarwenn Sie wollen, um voll konfigurieren Hibernate logging mit log4j-Konfigurationsdatei. Hoffe das hilft dem nächsten Kerl.
InformationsquelleAutor der Antwort Dennis S
In Reaktion auf homaxto Kommentar, das ist, was ich jetzt haben.
Der Schlüssel Teil
Hoffe, das hilft.
InformationsquelleAutor der Antwort James McMahon
Hier ist, was ich verwenden:
Offensichtlich, ich weiß nicht, wie zu sehen, Hibernate Nachrichten 😉 -- legen Sie die Ebene auf "debug", um die output.
InformationsquelleAutor der Antwort TMN
Waren die Antworten hilfreich. Nach der änderung bekam ich doppelte Protokollierung von SQL-Anweisungen, die ein in der log4j-log-Datei auf die standard-Konsole. Ich habe die persistence.xml Datei sagen show_sql auf false, um loszuwerden, der Protokollierung von der standard-Konsole. Halten format_sql true wirkt sich auch auf die log4j-log-Datei, so dass ich immer wahr.
InformationsquelleAutor der Antwort dc360
Können Sie Ihr
log4j
Datei mit dem Kategorie-tag wie diesem (mit einer console appender für das Beispiel):Also jede Warnung, Fehler oder fataler Nachricht aus dem Ruhezustand angezeigt wird, nichts mehr. Auch der code-und library-code wird Ihnen in der info-Ebene (also info, warn, error und fatal)
Ändern log-level einer Bibliothek, fügen Sie einfach eine Kategorie, zum Beispiel zu desactive Frühjahr info log:
Oder mit anderen Appen, brechen die additivität (additivität default-Wert ist true)
Und wenn Sie nicht wollen, dass hibernate log-jeder Abfrage, legen Sie die Eigenschaft hibernate
show_sql
zufalse
.InformationsquelleAutor der Antwort Emilien Brigand