Log4J (DailyRollingFileAppender)

takidoso

Erfahrenes Mitglied
Hallo und Halli,
ich versuche gerade zu verstehen, warum in meiner Anwendung der innerhalb Log4J verwendete DailyRollingFileAppender nicht die Datei einmal am Tag sonern offenbar jede Sekunde neu erstellt :-(
Follgende Archetektur (vielleicht leigt es ja daran)
Eine Anwendung die Verzeichnisse überwacht ruft fachliche Anwendungen auf, die die dorliegendne Dateien weiterverarbeiten (z.b. konvertieren)
einige dieser fachlichen Anwendungen verwendne den Log4J und werden als Klassen innerhalb der Stueernden Anwendung (plugIn ähnlich) aufgerufen.
Momentan verwende ich für di eeine bestimmte fachliche Anwendung folgende Konfiguration für log4J
Code:
log4j.rootLogger=TRACE, MeinDaRoFiAppender

log4j.de.equens.sisu.xmlsplitting.data.XmlSplitterHandler = TRACE
log4j.de.equens.sisu.xmlsplitting.XmlSplitter             = TRACE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern = %-5p %F:%L %M() %m %n 

log4j.appender.MeinDaRoFiAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MeinDaRoFiAppender.datePattern='.'yyyy-MM-dd_HH-mm-ss-SSS
log4j.appender.MeinDaRoFiAppender.file=logs/xmlsplitter.log
log4j.appender.MeinDaRoFiAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.MeinDaRoFiAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n


log4j.appender.LALA=org.apache.log4j.ConsoleAppender 
log4j.appender.LALA.layout=org.apache.log4j.PatternLayout 
log4j.appender.LALA.layout.ConversionPattern = %d{ISO8601} %-5p %F:%L %M() %m %n
was ich jedoch erlebe ist folgende Anzahl an Logdateien, die offenbar so wie ich es gerade bewerten würde jede Sekunde neu erstellt werden, anstelle täglich. Drollig ist unteranderem das erste Fiel was einfach leer ist :suspekt:
Weiß vielleicht jemand von Euch wie man das unterbinden kann, und der daylyRollingApender wirklich "daly rollt" ?
kann es vielleicht mit der Initialisierung liegen, sie wird wird bei jedem Aufruf der Fachanwendung vermute ich mal neu aufgebaut. Jedoch spricht daegen, dass auch mehrere Aufrufe innerhalb eines Logfiles zu sehen sind.
irgendwie komisch.

Für Hinweise bin ich fürchterlich dankbar

Takidoso
 

Anhänge

  • logfiles.jpg
    logfiles.jpg
    34,9 KB · Aufrufe: 512
Haaaa....
hätte nie gedacht, das ein DaylyRollingAppender auch (beabsichtig) in beliebig anderen Intervallen ein rollover macht, Wobei offenbar auf hundertstel Sekunden das ganze irgendwie an Zufall grenzt (verständlicherweise).
Grund für mein Problem ist die DatePattern, für einen täglichen Dateiwechsel sind halt nur Tage in der Pattern anzugeben also '.'yyyy-MM-dd
 
Log4J Nachtrag

Log4J scheint was die Parametrisierung mittels Properties angeht buggy zu sein.
Mit XML-Konfiguration klappt es, bzw entspricht ganz allgemein meinen Erwartungen. Offenbar hat man sich mit dieser Konfigurationsmethode mehr ins Zeug gelegt!
 
Ich weiß nicht ob es daran liegen kann, aber bei mir ist DatePattern mit großem D zu schreiben, nicht mit kleinem. Ebenso File. Kann mich dunkel erinnern, dass das bei uns mal Probleme gab. Weiterhin habe ich hier auch keine Anführungszeichen um den Punkt im DatePattern, sondern einfach nur .yyyy-MM-dd stehen.

Das nur als kleines Abgleichsergebnis zwischen einem hier funktionierenden Propertiesfile und deinem. Ist mir bisher noch nicht untergekommen, dass die Propertieskonfiguration nicht oder schlechter tat als die XML. Würde mich auch arg wundern, bei der Verbreitung die log4j hat. Ausserdem heißt es ja auch so schön: "Never blame the library!" ;)

REINHAUN!
 
Zuletzt bearbeitet:
Danke danke, für Eure Recherchen...
Anfürhungszeichen werden in dne Properties normalerweise wegrationalisiert, wenn ich mich recht erinnere, zumindest wenn Sie Stringumgrenzend sind.
Die Probleme bei der Paramertrisierung mit Properties, münzte sich jetzt eigetnlich nicht auf dieses Patternproblem, sorry da war ich missverständlich... sondern auf eine andere Situation, wo ich feststellte dass die Assoziation zwischen appender und Logger nicht sorichtig funktionierte, zumindest wenn da mehr als ein Logger und Appender im Spiel war. Bei der XML-Methodik ging es dann.
Interessanterweise, ich finde jedoch gerade nicht mehr den Eintrag, gab es auch noch jemanden, der das gleiche Problem mit der Properties-Konfiguration hatte und Antworten dazu gab es leider auch nicht. XML ist da offenbar besser.
 
Zurück