2014-02-24 69 views
0

我已經創建了一個示例程序,每次運行此程序時,它都會在事件日誌中創建一個虛擬條目,如下所示。如何避免不創建記錄器?Log4Net:如何避免在Eventlog中創建虛擬條目

2014年2月24日18:04:53557 [8] ERROR Log4NetSample.Program [(空)] - 錯誤消息

我的代碼:

using log4net; 
using log4net.Config; 
namespace Log4NetSample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Program pg= new Program(); 
      pg.Log4netCode(); 
     } 

     private void Log4netCode() 
     { 
      XmlConfigurator.Configure(); 
      ILog log = LogManager.GetLogger(typeof(Program)); 
      log.Debug("Debug message"); 
      log.Info("Info message"); 
      log.Warn("Warning message"); 
      log.Error("Error message"); 
      log.Fatal("Fatal message"); 
     } 
    } 
} 

配置文件:

<log4net> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <param name="File" value="C:\Log\MyFirstLogger.log"/> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Date" /> 
     <maxSizeRollBackups value="2" /> 
     <maximumFileSize value="2KB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="DEBUG" /> 
     <levelMax value="WARN" /> 
     </filter> 
    </appender> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> 
     <Eventid value="100"/> 
     <LogName value="Log4NetSample" /> 
     <applicationName value="Log4NetSample" source="Api" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="ERROR" /> 
     <levelMax value="ERROR" /> 
     </filter> 
    </appender> 
    <root> 
     <level value="ERROR" /> 
     <appender-ref ref="LogFileAppender" /> 
     <appender-ref ref="EventLogAppender" /> 
    </root> 
    </log4net> 

回答

0

您的消息是來自行log.Error的實際消息。初始化配置後,您不需要記錄或測試您的記錄器。