wake-up-neo.com

log4j-Eigenschaften DailyRollingFileAppender funktioniert nicht

Ich möchte tägliche Protokolle, wobei die Protokolldatei mit dem Datum im Format JJJJ-TT-MM angehängt wird. Wenn ich DailyRollingFileAppender verwende, wird keine neue Protokolldatei erstellt. Die Protokolle werden in dieselbe Protokolldatei geschrieben. Das angegebene Datumsmuster wird ebenfalls nicht berücksichtigt. Die erstellte Protokolldatei ist LoggerFile.log. Jeder Inhalt (auch am nächsten Tag) wird in diese Datei geschrieben. 

Ich verwende das log4j-1.2.17-Glas. Ich entwickle in Netbeans 7.3.1 in Java. 

Gibt es jemanden, der diesen JAR verwendet und ein solches Problem hat? Bitte helfen

Hier ist der Inhalt der von mir verwendeten Eigenschaftendatei:

# Root logger option
log4j.rootLogger=ERROR,FILE,stdout

# Define the file appender
log4j.appender.FILE=org.Apache.log4j.DailyRollingFileAppender

log4j.appender.FILE.File=.//..//logs//LoggerFile.log

# Define the layout for file appender
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.Apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS zzz} %5p     %c{1}:%L - %m%n

log4j.appender.FILE.MaxFileSize=10MB


# Direct log messages to stdout
log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.Apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -  %m%n`
12

Ich hatte ähnliche Anforderungen an die tägliche Rotation der Protokolldateien. (Obwohl die Frage älter ist, dachte ich, die Antwort würde anderen helfen).

Schlüsselpunkte:

  1. Zuerst können wir DailyRollingFileAppender vermeiden. Warum? Es wurde beobachtet, dass DailyRollingFileAppender Synchronisierungsprobleme und Datenverlust aufweist. Der Zusatz zu log4j Extras enthält Alternativen, die für neue Bereitstellungen in Betracht gezogen werden sollten und die in der Dokumentation zu org.Apache.log4j.rolling.RollingFileAppender beschrieben werden. Referenz: Dokumentation des täglichen Rolling File Appenders

  2. Apache extras log4j, würde vorschlagen, org.Apache.log4j.rolling.RollingFileAppender mit der Zeitbasierten Rolling-Richtlinie zu verwenden

  3. Kann eine sample configuration für die zeitabhängige Rotation des Protokolls finden.

Hoffe das hilft.

Zunächst einmal haben Sie einen Fehler, da die DailyRollingFileAppender die Eigenschaft MaxFileSize nicht unterstützt.

Dann können Sie versuchen, das Zeichen ' aus der DatePattern zu entfernen:

Versuchen Sie es zu ändern

log4j.appender.FILE.DatePattern='.'yyyy-MM-dd

zu

log4j.appender.FILE.DatePattern=.yyyy-MM-dd
0
Enrico Lebanane