2010-03-30 8 views
2

Je n'ai pas encore tout compris: comment définir DEBUG pour ma sortie console et INFO pour mon fichier FileAppender? C'est-à-dire, comment est-ce que je changerais la configuration ci-dessous afin que je puisse obtenir le ConsoleAppender pompant toute la journalisation de DEBUG vers le haut? Notez que les deux appenders doivent couvrir toute la journalisation (c'est-à-dire que je ne souhaite pas utiliser un élément de journal étendu qui modifie le niveau de journalisation pour un seul nom de consignateur).Comment définir DEBUG pour ma sortie console et INFO pour mon FileAppender?

<log4net> 

    <root> 
     <level value="INFO" /> 
     <appender-ref ref="LogFileAppender" /> 
     <appender-ref ref="ConsoleAppender" /> 
    </root> 

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > 
     <param name="File" value="log-file.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="[Header]\r\n"/> 
     <param name="Footer" value="[Footer]\r\n"/> 
     <param name="ConversionPattern" 
      value="%d [%t] %-5p %c [%x] - %m%n" 
     /> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
     <param name="LevelMin" value="DEBUG" /> 
     <param name="LevelMax" value="WARN" /> 
     </filter> 
    </appender> 

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> 
     </layout> 
    </appender> 

    </log4net> 

Répondre

9

Essayez cette configuration:

<log4net> 

    <root> 
    <level value="DEBUG" /> 
    <appender-ref ref="LogFileAppender" /> 
    <appender-ref ref="ConsoleAppender" /> 
    </root> 

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > 
    <param name="File" value="log-file.txt" /> 
    <param name="AppendToFile" value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="[Header]\r\n"/> 
     <param name="Footer" value="[Footer]\r\n"/> 
     <param name="ConversionPattern" 
     value="%d [%t] %-5p %c [%x] - %m%n" 
     /> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <param name="LevelMin" value="INFO" /> 
     <param name="LevelMax" value="FATAL" /> 
    </filter> 
    </appender> 

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > 
    <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> 
    </layout> 
    </appender> 

</log4net> 

Note:

  • Je mis le niveau de mai du fichier appender à Fatal afin que l'erreur sont également écrites dans votre dossier. Si ce n'est pas ce que vous voulez, vous pouvez le changer facilement.
  • Si vous souhaitez uniquement avoir des messages DEBUG (c'est-à-dire sans info, warn ...) dans la console, vous devez également filtrer l'appender de la console.