如何为我的控制台输出设置DEBUG,为我的FileAppender设置INFO?

时间:2010-03-30 23:23:26

标签: log4net log4net-configuration

我还没有完成这个工作 - 如何为我的控制台输出设置DEBUG,为我的FileAppender设置INFO?也就是说,我如何更改下面的配置,以便我可以让ConsoleAppender从DEBUG向上泵出所有日志记录?请注意,这两个appender都需要覆盖所有日志记录(即我不想使用仅为一个记录器名称更改日志级别的作用域记录器元素。)

  <log4net>

    <root>
      <level value="INFO" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log-file.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n"/>
        <param name="Footer" value="[Footer]\r\n"/>
        <param name="ConversionPattern"
           value="%d [%t] %-5p %c [%x] - %m%n"
        />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>

  </log4net>

1 个答案:

答案 0 :(得分:10)

尝试此配置:

<log4net>

  <root>
    <level value="DEBUG" />
    <appender-ref ref="LogFileAppender" />
    <appender-ref ref="ConsoleAppender" />
  </root>

  <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
    <param name="File" value="log-file.txt" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="Header" value="[Header]\r\n"/>
      <param name="Footer" value="[Footer]\r\n"/>
      <param name="ConversionPattern"
        value="%d [%t] %-5p %c [%x] - %m%n"
      />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="INFO" />
      <param name="LevelMax" value="FATAL" />
    </filter>
  </appender>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    </layout>
  </appender>

</log4net>

注意:

  • 我将文件appender的may级别设置为Fatal,以便将错误写入您的文件。如果那不是您想要的,您可以轻松地将其更改回来。
  • 如果你想在控制台中只有DEBUG(即没有信息,警告......)消息,你也需要过滤控制台appender。