日期和级别上的log4net RollingFileAppender rollingstyle

时间:2014-07-16 05:23:08

标签: log4net

在log4net的日期和级别上都为了获得滚动风格而感到头疼。

我想要实现的目标是:

1月1日:
2014-01-01_DEBUG.txt
2014-01-01_INFO.txt
2014-01-01_ERROR.txt

1月2日:
2014-01-02_DEBUG.txt
2014-01-02_INFO.txt
2014-01-02_ERROR.txt

1 个答案:

答案 0 :(得分:1)

实现这一目标的最简单方法是为每个级别创建一个RollingFileAppender并过滤每个appender以仅选择一个级别:

<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="DEBUG" />
        <levelMax value="DEBUG" />
      </filter>
<!-- ... -->

<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO" />
        <levelMax value="INFO" />
      </filter>
<!-- ... -->

然后只需将它们全部插入您需要的记录器

<root>
  <level value="DEBUG" />
  <appender-ref ref="DebugAppender" />
  <appender-ref ref="InfoAppender" />
  <appender-ref ref="ErrorAppender" />
</root>