2

我还没有完全解决这个问题 - 如何为我的控制台输出设置调试,为我的 FileAppender 设置信息?也就是说,我将如何更改下面的配置,以便让 ConsoleAppender 从 DEBUG 向上抽出所有日志记录?请注意,两个附加程序都需要涵盖所有日志记录(即,我不想使用仅更改一个记录器名称的日志级别的作用域记录器元素)。

  <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>
4

1 回答 1

11

试试这个配置:

<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>

笔记:

  • 我将文件附加程序的可能级别设置为致命,以便错误也写入您的文件。如果这不是您想要的,您可以轻松地将其更改回来。
  • 如果您只想在控制台中显示 DEBUG(即没有信息、警告...)消息,您还需要过滤控制台附加程序。
于 2010-03-31T05:36:08.907 回答