Ich habe ein Problem wih eine Logging-Einrichtung in einem apring Webapp unter tomcat eingesetzt 6.Problem Commons Logging/Log4j Setup im Frühjahr Webapp mit tomcat 6
Die Webapp verwenden den commons-logging api, auf Runtime log4j sollte verwendet werden. Die Protokolldatei wird erstellt, bleibt jedoch leer - es finden keine Protokolleinträge statt.
die Einrichtung ist folgende:
WEB-INF/web.xml:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
WEB-INF/classes/commons-logging.properties:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
WEB- INF/log4j.xml:
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
...
</appender>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.home}/logs/my.log"/>
...
</appender>
<logger name="my.package">
<level value="INFO"/>
</logger>
<root>
<level value="ERROR"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>
Die Datei logs/my.log wird erstellt, es werden jedoch keine Protokolle angezeigt. Das sind Info-Logs auf der Tomcat-Konsole, aber nicht mit dem Layout-Muster konfiguriert.
Die Commons-Logging-1.1.1.jar und Log4j-1.2.14.jar sind in WEB-INF/lib enthalten. Irgendeine Idee, was hier falsch ist?
Ich denke Commons-Logging (seit 1.1, dort wo Bugs zu Speicherlecks vorher) ist in Ordnung. Aber vielleicht ist es die beste Lösung, um log4j direkt zu verwenden - die Bibliotheken werden mit commons-logging unlogged verlassen. –
Das alles funktionierte in Tomcat 5.5 - manchmal wird es immer schlimmer –
Nein, commons-logging ist immer noch Müll (2010), benutze slf4j. http://articles.qos.ch/thinkAgain.html – Manius