Hibernate explizite log4.xml zuweisen - geht das?

glhlg

Mitglied
Hallo,

ich habe hier ein Webprojekt vorgesetzt bekommen, das später in einem Tomcat läuft.
Dort funktioniert das Loggen von Hibernate via Log4j wie gewünscht.

Aus dem gleichen Code wird aber auch eine Jar-Datei gebaut.
Wenn ich das Programm starte wird in der main folgende Zeile als erstes aufgerufen:
Java:
// spezielles Log-File für die main-Methode festlegen - muss erste Anweisung sein!
new DOMConfigurator().doConfigure(StatusModifier.class.getResourceAsStream(Log4jConfLocations.LOG4_UTILS), LogManager.getLoggerRepository());

Die "Konstante" enthält den Pfad zu der entsprechenden Log4j-Datei, da diese sich unterscheiden kann (je Betriebssystem, usw).

Beispiel für den Wert der Konstante:
Java:
"/de/xyz/log4j/utils/log4j.win.xml"

Auch das funktioniert wunderbar.
Nur leider nicht für Hibernate. Das scheint keine log4j.xml zu erkennen. Geschweige denn die per DOMConfigurator gesetzte.

Habe ich nun irgendeine Möglichkeit Hibernate eine explizite Konfiguration zuzuweisen, oder, was noch schöner wäre, Hibernate dazuzu bringen den per DOMConfigurator gesetzte Konfiguration zu verwenden?
Beide Wege wären mir recht! :)


Bitte, bevor ihr mir Dinge vorwerft wie warum ich die Projekte mixe und warum das Theater mit den verschiedenen log4j-Konfigurationen (die Liste ließe sich unendlich weiterführen) ...
Ich bin nur der, der das jetzt ausbügeln muss. :( Eine Runde Mitleid bitte! ;)

Vielen Dank schon mal für eure Hilfe!
Gruß
Gerrit
 
Hallo,

erhälst du generell keine log4j Ausgaben oder nur keine von Hibernate?
Welche Hibernate Version verwendest du denn? Aktuelle Versionen verwenden SLF4J.
Hast du dazu auch die Log4J-SLF4J API im Classpath?

Siehe auch hier:
http://www.slf4j.org/manual.html
http://stackoverflow.com/questions/467879/hibernate-3-4-with-slf4j-and-log4j

Ist die "richtige" Logging Datei auch wirklich an der Stelle vorhanden, an der die Ressource gesucht wird?

Ansonsten schau mal hier:
http://logging.apache.org/log4j/1.2/manual.html
Über das JVM Property -Dlog4j.configuration=my-log4j-config.xml kannst du die
Konfigurationsdatei explizit angeben.

Gruß Tom
 
Ach herje!
Ich muss das jetzt mal im Auge behalten, aber wie es aussieht, lag der Fehler an einer ganz anderen Stelle und das Setzen der im DOM-Aufruf benutzten Konstante war doch fehlerhaft.

Ich danke dir auf jeden Fall für deine Hilfe und entschuldige mich für mein voreiliges Posten!
Gruß
Gerrit
 
Zurück