Log4net et les dates sur les noms de fichier

by Nicolas Calvi 24. novembre 2008 17:58

J'ai récement eu un petit problème sur log4net pour générer des fichiers auyant le nom "monfichier_24-11-2008.log". En effet soit l'appender me met la date à la fin derrière l'extension, où si je met le ".log" dans le format de date il me transforme le "g" de "log" en "A.D".

Pour remédier à ce problème il faut tout simplement passer par le caractère d'échapement sur les formats de date qu'est le "\". En effet en mettant "\{char}" (par exempel "\g") l'interpréteur sur les dates ne prend pas en compte le caractère en question. Nous pouvons donc dans le format de date log4net spécifier le "\g" sur le ".log" afin qu'il ajoute correctement la date à la fin du fichier et surtout avant l'extenstion. Je vous propose un exemple d'appender :

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\MonFichier_" />
    <appendToFile value="true" />
    <datePattern value="yyyy-MM-dd.lo\g" />
    <staticLogFileName value="false" />
    <rollingStyle value="Date" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger %method [%ndc] - %message%newline" />
    </layout>
  </appender>

Commentaires (2) -

Sébastien
30/09/2009 23:37:20 #

Bravo, je commençais à en avoir marre de chercher, un type propose de refaire la classe pour arriver au même résultat (lutecefalco.developpez.com/.../). Ta solution simple me parait très bien, j'espère qu'elle marche correctement.

Nicolas Calvi
25/11/2009 09:26:14 #

J'ai déployé cette solution chez un client et ca fait maintenant 1 an qu'il en est très content Smile

Ajouter un commentaire

biuquote
  • Commentaire
  • Prévisualiser
Loading


Certifications

MVP

Microsoft Surface

MCTS

Microsoft .Net