log4net:使用相同的appender配置使用多个日志级别

时间:2009-08-12 19:24:19

标签: .net configuration logging log4net

几周前我发现了 log4net ,我对初步结果感到高兴。到目前为止,我一直在使用出厂设置(BasicConfigurator.Configure()),但现在我想进一步尝试一些自定义配置。

我已经挣扎着让应用程序读取配置文件和诸如此类的东西,实际上我得到了不错的结果,但我想知道如何启用剩余的日志记录级别? (即DEBUGWARNERROR)我已尝试在<root>元素中添加所有这些元素,但它不起作用。

目前我正在使用以下配置文件:

  

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

  <mapping>
    <level value="DEBUG" />
    <foreColor value="White" />
    <backColor value="Blue" />
  </mapping>

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

  <mapping>
    <level value="WARN" />
    <foreColor value="White" />
    <backColor value="Yellow" />
  </mapping>

  <mapping>
    <level value="ERROR" />
    <foreColor value="White" />
    <backColor value="Red" />
  </mapping>

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

</appender>

<root>
  <appender-ref ref="Console" />
</root>

如果你们中的任何一个人愿意继续指出我所缺少的东西,那么今天我将是一个非常开心的程序员。非常感谢您的所有反馈!

更新: 指定日志级别(<level value="INFO" />)解决了问题,因为log4net默认会启用所有这些问题。

1 个答案:

答案 0 :(得分:1)

在记录器(root或其他)上指定级别将启用该级别和所有级别的消息。指定INFO将启用,INFO,WARN,ERROR和FATAL。 DEBUG消息将被排除,因为它比INFO更高。