Tomcat Logging mit Slf4j und Log4j

8

Ich habe eine Web-App auf einem Tomcat 7 Server bereitgestellt. Meine Anwendung verwendet log4j und file appender . Es werden jedoch nicht alle Logging-Nachrichten in die Datei geschrieben.

Auf meinem Klassenpfad habe ich:

%Vor%

Meine log4j.properties -Datei funktioniert auf meinem lokalen Rechner einwandfrei und wird ordnungsgemäß bereitgestellt.

Ich sehe Fehlermeldungen von Anwendungen, die in catalina.out geschrieben werden, die nicht in mein log4j log geschrieben werden. Die Protokollnachrichten in catalina.out scheinen von einem anderen Protokollierungsframework zu stammen, da das Ausgabemuster ein anderes Format hat als mein log4j -Muster. Die Protokollierung, die ich in catalina.log sehe, ist wie folgt:

%Vor%

Und mein log4j-Muster ist wie folgt:

%Vor%

Einige Protokollierungen werden in meinem log4j -Dateiprotokoll angezeigt, aber nicht alle. Nach dem, was ich gelesen habe, benötigt slf4j nur diese jars, damit es die Protokollausgabe trichtert. Irgendwelche Ideen?

    
user935265 04.11.2011, 16:30
quelle

3 Antworten

3

Versuchen Sie, das jcl-über-slf4j als Abhängigkeit einzubeziehen. myfaces verwendet wahrscheinlich Commons-Logging.

Überprüfen Sie die slf4j-Dokumentation: Ссылка

    
Stefan De Boey 04.11.2011, 16:37
quelle
11

Es sieht aus wie StateUtils Klasse verwendet java.util.logging (jul). Es liegt nahe, dass andere myfaces-Klassen auch jul verwenden. Daher möchten Sie wahrscheinlich jul-Protokolle durch SLF4J trichterieren. Sehen Sie sich ältere APIs an , insbesondere die jul-to-slf4j -Brücke.

Informationen zur Verwendung von jul-to-slf4j finden Sie unter SLF4JBridgeHandler javadocs .

    
Ceki 04.11.2011 21:21
quelle
2

Konfigurieren Sie Ihren Tomcat-Server gemäß den unter Ссылка beschriebenen Schritten . Dieser Blogeintrag beschreibt, wie man java.util.logging durch slf4j ersetzt (indem man log4j hinter der Fassade verwendet).

    
Florian Sager 08.01.2013 09:29
quelle

Tags und Links