Tomcat 6 und Anwendung log4j-Protokollierung keine Ausgabe erzeugen
Ich versuche, log4j Anwendung (webapp) - Protokollierung der Arbeit in einem Tomcat 6-app. Ich habe log4j-1.2.15.jar in meinem WEB-INF-Verzeichnis, log4j.dtd und log4j.xml in WEB-INF/classes.
Meine log4j.xml sieht aus wie:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="massAppender" class="org.apache.log4j.RollingFileAppender">
<param name="maxFileSize" value="100KB" />
<param name="maxBackupIndex" value="2" />
<param name="File" value="${catalina.home}/logs/mass.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}: %m%n " />
</layout>
</appender>
<category name="com.company.mass">
<priority value="DEBUG"/>
<appender-ref ref="massAppender"/>
</category>
<root>
<appender-ref ref="massAppender" />
</root>
</log4j:configuration>
Mein servlet ist in dem Paket:
package com.company.mass;
wo der logger ist deklariert als:
private static Logger logger = Logger.getLogger(Handler.class);
und an der Spitze meiner doGet (...) - Methode gibt es:
logger.error("foo");
Wenn ich das bereitstellen der app in Tomcat und gehen Sie zu dem servlet, funktioniert es einwandfrei. Ich selbst bekommen eine Masse.log-Datei, aber nichts dringt in Sie setzen. Es nicht zeigen, bis in andere logs, und es gibt keine offensichtlichen Fehler. Keine Ahnung, was Los ist???
haben Sie überprüft, die catalina.aus log?
Ich habe nicht eine catalina.aus. Meine cataline.2009-05-27.log hat die standard-startup-Zeug.
Ich habe nicht eine catalina.aus. Meine cataline.2009-05-27.log hat die standard-startup-Zeug.
InformationsquelleAutor | 2009-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie sicher, dass log4j ist eigentlich mit Ihrem
log4j.xml
für die Konfiguration, und nicht eine andere Datei auf dem Klassenpfad?Damit das system die Eigenschaft
-Dlog4j.debug
zu haben, log4j drucken Sie Informationen über genau, welche Konfigurations-Datei verwendet wird.auch hier ist eine dumme Frage, sind Sie absolut positiv, dass die logging-Linien sind auch immer trifft, wenn der code ausgeführt wird? Auch btw, ist das hinzufügen von Appen zweimal (zu root werden und "com.Unternehmen.Masse") Ergebnis in der log-Nachrichten, die an die appender zweimal
Dumme Frage, aber ein guter. Ich schlug die Standard-index.jsp, Maven erzeugt, die zufällig erzeugte genau die gleiche Ausgabe (Hello World), dass meine servelt produziert. Sie gehen zu einer Seite mit der Protokollierung gemacht Protokollierung der Arbeit.
Freut mich zu hören das es funktioniert!
meiner Erfahrung nach funktionierte es am besten, wenn die log4j.Eigenschaften Datei im selben Verzeichnis mit der log4j.jar Datei. nicht sicher, ob das gleiche mit einer .xml-config, aber ich Wette sollte es sein.
InformationsquelleAutor matt b
Nicht sicher, ob Sie müssen eine Priorität in Ihrem root-logger. Versuchen Sie, diese config
InformationsquelleAutor Mike Pone
Versuchen, das hinzufügen der Zeile :
Ihrem massAppender config
und diese Linie
in Ihrem root-definition
meine Tomcat6 nicht einmal eine config-Datei mit "massAppender".
InformationsquelleAutor Gandalf
Wenn ich angetroffen habe dieses problem konnte ich lösen, indem hinzufügen
common-logging.jar
zu meinem deployment assembly.InformationsquelleAutor Ruudy Garcia