2010-06-14 36 views

回答

1

在这里玩纯粹的猜测。
看着文档&想到,这可能是做到这一点的方法。

注意:DEBUG级别的消息被记录到控制台& WARN级别的消息被记录到eventlog。

希望工程:)

<log4net> 
    <!-- A1 is set to be a ConsoleAppender --> 
    <appender name="A1" type="log4net.Appender.ConsoleAppender"> 

     <!-- A1 uses PatternLayout --> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message%newline" /> 
     </layout> 
    </appender> 

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
</appender> 

    <logger name="DebugLogger"> 
     <level value="DEBUG" /> 
     <appender-ref ref="A1" /> 
    </logger> 

    <logger name="WarnLogger"> 
     <level value="WARN" /> 
     <appender-ref ref="EventLogAppender" /> 
    </logger> 
</log4net> 
1

这至少适用于SmtpAppender。猜猜它也适用于其他appenders,但我没有测试它

<evaluator type="log4net.Core.LevelEvaluator"> 
    <threshold value="WARN"/>