web-dev-qa-db-fra.com

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

Je veux que mon fichier journal ressemble à ceci: 2009-02-13.log

mais le problème est que je n'arrive pas à trouver de 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>
66
user29964

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

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

Les autres réponses échappent au "g" dans "log" car "g" est un caractère spécial dans datePattern. Ce n'est pas faux, mais je préfère encapsuler l'ensemble des caractères non datés entre guillemets simples, comme ceci:

<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 à 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 de borking mes noms de fichiers; ils sont tous bien échappés en masse.

110
Craig Walker

log4net fournit désormais également une propriété PreserveLogFileNameExtension qui peut forcer votre extension .log à la fin du nom de 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" />
18
user3535083

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

8
DevinB

Ceci est ma configuration xml de fichier journal. Le chemin d'accès au fichier journal se trouve dans la balise "file"

Cela va créer 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 en premier!

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