Log4Net:如何指定不同的级别来分隔ASP.NET的appender

时间:2010-06-14 06:41:18

标签: asp.net log4net

对于ASP.NET中使用的Log4Net, 如何在web.config中指定不同的级别来分隔appender?

感谢。

2 个答案:

答案 0 :(得分:1)

在这里玩纯粹的猜测。
看着文档&我想,这可能就是这样做的。

注意:DEBUG级别消息会记录到控制台& WARN级别的消息将记录到事件日志中。

我希望它有效:)

<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 :(得分:1)

至少适用于SmtpAppender。猜猜它也适用于其他appender,但我还没有测试过它

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