2009-04-02 8 views

Antwort

0

Das passiert mir, wenn ich 2 Kopien von log4j.properties auf dem Klassenpfad habe. Auf mehrere Protokollierungskonfigurationen prüfen

0

Ist die log4j.properties Ihrer Webanwendung auf "catalina.out" eingestellt? Tomcat protokolliert bereits Ereignisse dort und wenn sich Ihre Anwendung dort ebenfalls anmeldet, würde das wahrscheinlich die doppelten Einträge erklären.

0

Es hat höchstwahrscheinlich etwas mit der Reihenfolge, in der die Gläser geladen werden, zu tun. Bei einem älteren Projekt war dies die ganze Zeit, die Lösung bestand darin, die Gläser in der "perfekten" Reihenfolge neu zu ordnen, und die Dinge würden sich selbst regeln.

Es können nicht nur mehrere log4js sein, sondern commons-logging, slf4j usw. Versuchen Sie, sie neu anzuordnen, aber ohne Ihre Klassenpfadordnung zu sehen, ist es schwer, weiter zu helfen.

3

Überprüfen Sie Ihr log4j, um sicherzustellen, dass Sie nicht doppelt an Ihren Logger anhängen. Ihrem Root-Logger ist bereits ein Appender zugeordnet. Wenn Sie eine zusätzliche Kategorie filtern, stellen Sie sicher, dass Sie keinen Appender angeben, es sei denn, Sie möchten, dass es an einen anderen Appender als den Root-Benutzer gesendet wird.

<category name="org.apache.commons"> 
    <priority value="warn"/> 
    <!-- don't add the same appender as your root appender --> 
</category> 
0

Ich habe das gleiche Problem. wie folgt aus:

log4j.rootLogger=info,R 
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.R.File=${catalina.home}/logs/catalina.out 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n 
log4j.logger.org.apache=info, R 

GERADE gesetzt log4j.rootLogger=info,R zu log4j.rootLogger=R dann funktioniert es!