log4j - Datum an Logdatei anhängen möglich?

R

rseyfrie

Nutze log4j, um den Aufruf eines Webservices zu protokollieren. Im File log4j.properties ist für das Ausgabefile folgendes angegeben:

Code:
[...]
log4j.appender.A2.File=job.log
[...]

Ist es möglich, dass für jeden Aufruf des Webservice ein eigenes Logfile erstellt wird - nach dem Muster job-datum-uhrzeit.log (zb job-26092006-141030.log).

Weiß jemand, wie ich die obrige Zeile dementsprechend anpassen müßte?
Danke für jede Hilfe!

Robert
 
Hallo,

du könntest als Appender den DailyRollingFileAppender nehmen und einstellen, dass jede Minute ein neues Log-File erzeugt werden soll. Dabei wird automatisch das aktuelle Datum an das File angehängt.

Eine weitere Möglichkeit wäre, einen eigenen Appender zu schreiben.
Einfach mal bei der Suchmaschine deines Vertrauens googeln :)
Da findest du bestimmt ein paar Docs oder Tutorials wie das funktioniert
 
Noch eine Möglichkeit die vielleicht nicht ganz so aufwendig ist:
Vor der Initialisierung des log4j Files eine Property setzen, wie z.B.
myDateTimeString = 26092006-141030.

Dann in den log4j.properties:
log4j.appender.A2.File=job-${myDateTimeString}.log
 
Hab´s geschafft - folgende Konfiguration ist notwendig:

log4j.properties:

Code:
# A2
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=log/job_
log4j.appender.A2.datePattern=yyyy-MM-dd_HH-mm-ss'.log'
log4j.appender.A2.append=true
Dadurch wird bei jedem Aufruf ein eigenes Logfile mit Timestamp im Verzeichnis /log/ erstellt.
 

Neue Beiträge

Zurück