Wie konfiguriere ich einen RollingFileAppender, um mit log4net nach Datum und Größe zu rollen?

Ich bin log4net konfigurieren so verwenden Sie eine composite RollingFileAppender, so dass die aktuelle Datei heißt immer logfile.melden Sie und alle nachfolgenden Dateien werden benannt logfile-YYYY.MM.dd.seq.melden Sie wo seq ist die Sequenz-Nummer, wenn ein Protokoll über einer bestimmten Größe innerhalb eines einzigen Tages. Leider hatte ich sehr wenig Erfolg bei der Konfiguration einer solchen Konstellation.

Edit:

Meine aktuelle Konfiguration ist unten eingefügt. Es wurde aktualisiert, basierend auf mehrere Antworten, das bringt mich nahe genug für meine Bedürfnisse. Dies erzeugt Dateien im format: logfile_YYYY.MM.dd.log.seq

<log4net>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs\\logfile"/>
        <staticLogFileName value="false"/>
        <appendToFile value="true"/>
        <rollingStyle value="Composite"/>
        <datePattern value="_yyyy.MM.dd&quot;.log&quot;"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="75KB"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>

</log4net>

Einen interessanten Hinweis, Einstellung

<staticLogFileName value="false"/>

true bewirkt, dass der logger schreibt keine Dateien.

InformationsquelleAutor der Frage Ryan Taylor | 2008-10-28

Schreibe einen Kommentar