Log4Net: appender Rolling File, definire l'estensione
-
03-07-2019 - |
Domanda
Voglio che il mio file di registro sia simile a questo: 2009-02-13.log
ma il problema è che non riesco a trovare alcun modo per aggiungere l'estensione .log.
Ho provato molte cose ma niente aiuta. Questo è quello che ho finora:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs/Log4Net/.log"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
</appender>
Soluzione
Prova ad aggiungere l'estensione .log al tuo modello di data in questo modo e rimuovilo dall'attributo del file.
<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />
Altri suggerimenti
Le altre risposte sfuggono a " g " in " log " poiché " g " è un personaggio speciale in datePattern. Questo non è sbagliato, ma preferisco racchiudere l'intero set di caratteri non datati tra virgolette singole, in questo modo:
<datePattern value="yyyy-MM-dd'.log'" />
Questo dà gli stessi risultati, ma per me è più facile da gestire. In questo modo, non devo ricordare quali caratteri specifici sono speciali per datePattern (l'elenco è lungo e vario). Se dimentico un personaggio, non corro il rischio di inserire i nomi dei miei file; sono tutti ben riusciti a fuggire in massa.
log4net ora fornisce anche una proprietà PreserveLogFileNameExtension
che può forzare l'estensione .log alla fine del nome del file composto (inclusi il modello di data e / o il numero di sequenza delle dimensioni):
<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />
aggiungi " .lo \ g " fino alla fine del tuo datepattern
Questo è il mio file di registro xml config. Il percorso del file di registro si trova nel " file " tag
Questo creerà un file di registro " 22-11-2012.log " nella cartella " LogFiles " nella cartella del percorso del mio sito Web.
NOTA: assicurati che la cartella esista prima!
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<root>
<level value="INFO"/>
<appender-ref ref="RollingFileAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="LogFiles/"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="5"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyy-MM-dd'.log'" />
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
</layout>
</appender>
</log4net>
</configuration>