Wie control-Protokoll-Datei mit täglich Rollen und die max Datei Größe von log4j?

Ich würde gerne um die Protokolldatei zu erstellen, die gerollt werden kann, an den Anfang des nächsten Tages, oder wenn es erreicht, um die angegebene Datei-Größe und die log-Datei muss enthalten Datum-Ordner.
Format der Ordner ist YYYYMMDD (/20111103/mylogfile.log)

Ist es möglich, dies zu tun durch Log4j ohne die Implementierung custom class?

Jetzt bin ich mit log4j und log4j-extra,
Ich FileNamePattern-Attribut definiert in der log4j-API zu Rollen meine Datei Alltag
und set max Dateigröße auf 50 MB.

Meine log4j.xml ist:

<appender name="MYAPPENDER" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="encoding" value="UTF-8" />
    <param name="append" value="true" />
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="${catalina.home}/logs/MY-APP/%d{yyyyMMdd}/MY-APP_%d{yyyyMMddHHmmss}.log" />
    </rollingPolicy>
    <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
        <param name="maxFileSize" value="50000000" />
    </triggeringPolicy>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[%d{dd/MM/yyyy HH\:mm\:ss}] %-5p [%c.%M(),%4L] - %m%n" />
    </layout>
</appender>

Ergebnis der oben genannten Einstellung ist, dass log-Datei ist nicht gerollt, am Anfang der nächsten Tage, aber wenn die Datei die Größe erreicht, um die 50 MB, log-Datei wird gerollt.

Bitte helfen Sie mir raten. m(_ _)m

  • Hast du eine Lösung finden?
Schreibe einen Kommentar