135 votes

Log4net roulement quotidien nom de fichier avec la date dans le nom du fichier

J'aimerais que les fichiers soient nommés par exemple:

jj.mm.aaaa.log

Comment est-ce possible avec log4net?

Merci

232voto

Nonkichi Points 471
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <file value="logs\" />
  <datePattern value="dd.MM.yyyy'.log'" />
  <staticLogFileName value="false" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="5MB" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

113voto

Mun Points 6844

Dans votre fichier de configuration Log4net, utilisez le paramètre suivant avec RollingFileAppender:

 <param name="DatePattern" value="dd.MM.yyyy'.log'" />
 

33voto

BobD Points 171

Pour un RollingLogFileAppender, vous avez également besoin de ces éléments et valeurs:

 <rollingStyle value="Date" />
<staticLogFileName value="false" />
 

0voto

AllenM Points 96

La section de configuration étendue dans une réponse précédente avec

  ...
 ...
 <rollingStyle value="Composite" />
 ...
 ...
 

travaux énumérés mais je n'ai pas eu à utiliser

 <staticLogFileName value="false" /> 
 

. Je pense que RollingAppender doit (logiquement) ignorer ce paramètre car, par définition, le fichier est reconstruit chaque jour au redémarrage / la réutilisation de l'application. Peut-être que cela importe pour le roulement immédiat CHAQUE fois que l’application démarre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X