Logging mit XML-Konfigurationsdatei - Erstellungsdatum im Dateinamen

eben

Grünschnabel
Grüß Gott miteinander,
ich habe ein kleines Problem. Unszwar möchte ich eine Logdatei erstellen, die im Dateinamen das Erstellungsdatum enthält.

Folgenden Code habe ich eingesetzt.

Code:
<appender name="MeinAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="datePattern" value="'.'yyyy-MM-dd_HH-mm" />
    <param name="file" value="logs/MeineLogDatei.log" />
    <param name="Append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ISO8601} %-5p [%t] %c: %m%n" />
    </layout>
  </appender>

  <root>
    <priority value="INFO" />
    <appender-ref ref="MeinAppender" />
  </root>

Aktuelle Datei heißt immer "MeineLogDatei.log", die restlichen haben das gewollte Format. Aber auch die aktuelle Datei soll das Erstellungsdatum beinhalten.

Kann jemand weiterhelfen? Ja ich habe gesucht :).
Tolles Forum hier, herzlichen Dank für die Antworten.

Grüße
eben
 
Moin,

IMHO ist das auch richtig so (!)

Die aktuelle Datei heißt immer "MeineLogDatei.log".
Sie wird dann um Mitternacht auf "MeineLogDatei.log.YYYY-MM-dd" umbenannt und eine neue, aktuelle Datei mit dem Namen "MeineLogDatei.log" erstellt!

Sprich: nur die Vortages-Datei bekommt den Zeitstempel!

Gruß
Klaus
 
Hallo und herzlichen Dank für deine Antwort!
Ja, das ist mir bewusst, das er so ,,richtig" handelt. Allerdings möchte ich eben, dass die aktuelle Datei sofort mit einem Erstellungsdatum ausgestattet ist.

Grüße
eben
 
Moin.

geht - wie gesagt - mit log4j nicht, da Du hier nur einen fixen Dateinamen angeben kannst und dann die zuvor genannte Logik mit dem DailyRollingFileAppender einstellst!

Theoretisch kannst Du Dir natürlich eine eigene Logik schrieben, die nach jedem Loggen mit log4j die Einträge aus der 'normalen' Datei in eine eigene Datei MIT Datum umkopiert .... würde ich persönlich aber für ziemlich blödsinnig halten ;-)

Da schreib' lieber gleich einen eigenen Logger, den Du dann statt log4j benutzt!

Gruß
Klaus
 
Zurück