Ich habe Tomcat installiert und SLF4J als Protokollierungsframework verwendet. Ich habe slf4j-api-1.6.4.jar
und slf4j-jdk14-1.6.4.jar
in die Tomcat-Bibliothek kopiert, d. H.% Co_de%.
Ich ging davon aus, dass wenn ich SLF4J verwende, es an $TOMCAT_HOME/lib
delegieren soll, das an das zugrunde liegende Tomcat Logging Framework delegiert wird. Aber wenn ich meine Anwendung bereitstelle und überprüfe, sehe ich nichts, was protokolliert wird. Alle meine Ausnahme- / Protokollinformationen gehen verloren.
Ist mein Verständnis richtig, oder habe ich etwas vermisst, um im Klassenpfad zu bleiben?
Anstatt die Dateien slf4j-api-1.6.4.jar und slf4j-jdk14-1.6.4.jar unter $ TOMCAT / lib zu kopieren, habe ich diese Jars mit der War-Anwendung ausgeliefert. In diesem Fall werden meine Ausnahmen protokolliert.
Wahrscheinlich müssen Sie die Systemeigenschaft zu Ihrem CATALINA_OPTS hinzufügen.
Fügen Sie für Windows-Systeme der Datei% CATALINA_HOME \ bin \ catalina.bat hinzu:
%Vor%oder auf Linux / UNIX-Systemen fügen Sie Ihrer Datei $ CATALINA_HOME / bin / catalina.sh Folgendes hinzu:
%Vor%Vergessen Sie nicht, dass Sie in Linux / UNIX-Systemen angeben müssen, ob Sie mehr als einen Parameter in CATALINA_OPTS haben, z. B.
%Vor%Diese Zeile soll sicherstellen, dass Ihre Datei logging.properties geladen wird, wenn Tomcat gestartet wird.
Sie können Tomcat so konfigurieren, dass es log4j wie beschrieben in seinen Dokumenten verwendet , log4j .properties in das Verzeichnis $ CATALINA_HOME / lib und verwenden Sie slf4j-api mit slf4j-log4j12 bridge. Du hast also saubere slf4j API und log4j Güte wie DailyRollingFileAppender .
Tags und Links tomcat logging slf4j tomcat6 java.util.logging