Ich benutze log4j 1.2.17. Ich habe versucht, log4j.properties zu konfigurieren, so dass Nachrichten in die Konsole und eine Protokolldatei geschrieben werden. Das Schreiben von Nachrichten in die Konsole funktioniert einwandfrei. Ich sehe nur einen Eintrag pro Protokollnachricht in die Protokolldatei geschrieben. Doppelte Nachrichten werden jedoch in die Protokolldatei geschrieben. Mit anderen Worten, für jede in das Protokoll geschriebene INFO wird zweimal geschrieben. Ich habe versucht, mit Additivität zu kontrollieren, aber es scheint nicht zu funktionieren. Was müsste ich tun, um dieses Verhalten zu korrigieren?log4j: Konfiguration bewirkt, dass doppelte Nachrichten in die Protokolldatei geschrieben werden
log4j.rootLogger=ERROR, R, C
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/storefrontPing.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %t [%-5p] %c - %m%n
log4j.appender.R.Append = true
log4j.additivity.R = false
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
log4j.appender.C.Target=System.out
log4j.additivity.C = false
log4j.logger.org.apache=ERROR, R
log4j.logger.org.apache=ERROR, C
log4j.logger.com.aktion.storefront.ping=INFO, C
log4j.logger.com.aktion.storefront.ping=INFO, R
REVISED
Ich änderte meine log4j.properties auf die folgende Datei. Jetzt bekomme ich die Protokollnachricht in die Konsole geschrieben, aber nichts in die Protokolldatei geschrieben.
log4j.rootLogger=ERROR, R, C
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/storefrontPing.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %t [%-5p] %c - %m%n
log4j.appender.R.Append = true
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
log4j.appender.C.Target=System.out
log4j.logger.com.aktion.storefront.ping=INFO
Ich habe Ihre Änderungen versucht. Jetzt erhalte ich eine Protokoll-INFO-Nachricht, die in die Konsole geschrieben wurde, aber nichts in die Protokolldatei geschrieben wurde. Ich habe eine überarbeitete log4j.properties-Datei aufgenommen, die jetzt in meiner Frage enthalten ist. Habe ich etwas falsch gemacht? –
Mein schlechtes. Das Problem war, wie ich meinen lokalen Tomcat-Server in Eclipse definiert hatte. Das funktioniert. Vielen Dank! –