Log4Net: Appender Rolling File, définir l'extension
-
03-07-2019 - |
Question
Je veux que mon fichier journal ressemble à ceci: 2009-02-13.log
mais le problème est que je n'arrive pas à trouver le moyen d'ajouter l'extension .log.
J'ai essayé beaucoup de choses mais rien n'y fait. Voici ce que j'ai jusqu'ici:
<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>
La solution
Essayez d’ajouter l’extension .log à votre modèle de date comme suit et supprimez-le de l’attribut de fichier.
<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />
Autres conseils
Les autres réponses échappent à la " g " dans " log " depuis " g " est un caractère spécial dans datePattern. Ce n’est pas faux, mais je préfère envelopper tout le jeu de caractères non datés entre guillemets simples, comme suit:
<datePattern value="yyyy-MM-dd'.log'" />
Cela donne les mêmes résultats, mais est plus facile à gérer pour moi. De cette façon, je n'ai pas à rappeler quels caractères sont spéciaux pour datePattern (la liste est longue et variée). Si j'oublie un caractère, je ne risque pas de perdre mes noms de fichiers; ils se sont tous bien échappés en masse.
log4net fournit désormais également une propriété PreserveLogFileNameExtension
qui peut forcer votre extension .log à la fin du nom du fichier composé (y compris le modèle de date et / ou le numéro de séquence de taille):
<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />
ajouter " .lo \ g " à la fin de votre datepattern
Ceci est mon fichier journal config xml. Le chemin d'accès au fichier journal se trouve dans le fichier "Fichier". tag
Ceci créera un fichier journal " 2012-11-22.log " sous le dossier " LogFiles " dans le dossier de route de mon site Web.
REMARQUE: assurez-vous que le dossier existe avant!
<?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>