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".log""/>
<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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden wir die folgende (Log4J):
Dies gibt uns Applog.log.yyyy-MM-dd Dateien
InformationsquelleAutor der Antwort paul
Laut log4net RollingFileAppender source code:
Also ich vermute, es ist nicht möglich, zum erzeugen einer log-Datei mit dem Namen Sie benötigen. Ich denke, es ist so etwas wie
logfileYYYY-MM-dd.n.log
oder ähnliches.InformationsquelleAutor der Antwort Leandro López
Versuchen Sie diese Eigenschaft auf true setzen:
preserveLogFileNameExtension value="true"
Ich glaube, dieser trick wird Ihnen helfen! Allerdings preserveLogFileNameExtension Eigenschaft muss die neueste version von log4net, Sie können es hier finden: logging.apache.org/log4net/download.html
InformationsquelleAutor der Antwort Junrui
Beachten Sie, dass ist in diesem Fall die
werden ignoriert.
Sehen diese Antwort zu einem ähnlichen log4net Frage
InformationsquelleAutor der Antwort Chasler