2012-05-22 45 views
9

我第一次使用log4net,并使用提供的配置示例遵循了文档,但是调试语句不记录。log4net不记录调试语句

信息,错误,警告和致命等级都记录正确。任何人都可以告诉我我错过了什么吗?

的app.config:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

<log4net> 
    <appender name="Console" type="log4net.Appender.ColoredConsoleAppender"> 

     <mapping> 
      <level value="INFO" /> 
      <foreColor value="Green"/> 
     </mapping> 

     <mapping> 
      <level value="DEBUG" /> 
      <foreColor value="Cyan,HighIntensity"/> 
     </mapping> 

     <mapping> 
      <level value="WARN" /> 
      <foreColor value="Purple,HighIntensity"/> 
     </mapping> 

     <mapping> 
      <level value="ERROR" /> 
      <foreColor value="Red,HighIntensity"/> 
     </mapping> 

     <mapping> 
      <level value="FATAL" /> 
      <foreColor value="Yellow,HighIntensity"/> 
     </mapping> 

     <layout type="log4net.Layout.PatternLayout"> 
      <!-- Pattern to output the caller's file name and line number --> 
      <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /> 
     </layout>    
    </appender> 

    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
     <file value="example.log" /> 
     <appendToFile value="true" /> 
     <maximumFileSize value="100KB" /> 
     <maxSizeRollBackups value="2" /> 

     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%level %thread %logger - %message%newline" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="INFO" /> 
     <appender-ref ref="Console" /> 
     <appender-ref ref="RollingFile" /> 
    </root> 
</log4net> 

有人提到检查集信息为[组件:log4net.Config.XmlConfigurator()],但是存在具有或不具有该行没有区别。

记录仪可以声明如下:

private static readonly ILog log = LogManager.GetLogger(typeof(CWD_Netsuite)); 

,并像访问:

XmlConfigurator.Configure(); 
log.Debug("Debugging");    //does not get logged 
log.Info("Entering Application"); //logged to console and log file 
log.Debug("Debug Statement");  //does not get logged 

log.Error("Error statement");  //logged to console and log file 
log.Warn("Warning statement"); //logged to console and log file 
log.Fatal("Fatal Statement");  //logged to console and log file 
+1

只是为了澄清以下所有答案,在log4net的记录层级,DEBUG是最低的,低于信息。 –

回答

15

你有一个过滤器设置为INFO水平在你的根类(从而过滤掉DEBUG级别的任何消息) :

<root> 
    <level value="INFO" /> 
    <appender-ref ref="Console" /> 
    <appender-ref ref="RollingFile" /> 
</root> 

将其更改为

<level value="DEBUG" /> 
+0

我知道这将是简单的:)谢谢! –

8

更改级别值在节点 “DEBUG” ......

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="Console" /> 
    <appender-ref ref="RollingFile" /> 
</root> 
12

水平以下顺序定义log4net的:

ALL, DEBUG, 信息, WARN, ERROR,FATAL , OFF

根据您当前的您正在使用INFO和以下编写所有设置。

设置你的根节点以下几点:

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="Console" /> 
    <appender-ref ref="RollingFile" /> 
</root>