67 votes

Log4Net : Rolling File appender, définir l'extension

Je veux que mon fichier journal ressemble à quelque chose comme 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 fait jusqu'à présent :

<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>

115voto

Craig Walker Points 13478

Les autres réponses échappent le "g" de "log" car "g" est un caractère spécial dans datePattern. Ce n'est pas faux, mais je préfère entourer l'ensemble des caractères autres que la date de guillemets simples, comme ceci :

<datePattern value="yyyy-MM-dd'.log'" />

Cela donne les mêmes résultats, mais c'est plus facile à gérer pour moi. De cette façon, je n'ai pas besoin de me rappeler quels caractères spécifiques sont spéciaux pour datePattern (la liste est longue et variée). Si j'oublie un caractère, je ne risque pas d'abîmer mes noms de fichiers ; ils sont tous échappés en masse.

56voto

Greg Whitaker Points 4711

Essayez d'ajouter l'extension .log à votre modèle de date comme ceci et supprimez-la de l'attribut du fichier.

<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />

18voto

MANP Points 11

Log4net fournit également une PreserveLogFileNameExtension qui peut forcer l'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" />

8voto

DevinB Points 5960

Ajouter ".lo \g "à la fin de votre modèle de date.

4voto

Talon Points 518

Voici la configuration xml de mon fichier journal. Le chemin vers le fichier journal est dans la balise "file".

Cela créera un fichier journal "2012-11-22.log" dans le dossier "LogFiles" du dossier route de mon site web.

NOTE : Assurez-vous d'abord que le dossier existe !

<?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>

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