使用log4Net每月记录日志文件条目

时间:2012-07-16 10:00:20

标签: vb.net asp.net-mvc-3 log4net

我有以下log4Net的配置部分。我想让log4Net每月记录文件而不是日期。请求你的帮助......

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net">
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <param name="StaticLogFileName" value="true"/>
  <file type="log4net.Util.PatternString" value="C:\logger\TestLog.log" />
  <appendToFile value="true" />
  <maximumFileSize value="1000KB" />
  <maxSizeRollBackups value="3" />   
  <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%level %date{dd MMM yyyy HH:mm:ss,fff} %logger - %message%newline" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="INFO" />
    <levelMax value="FATAL" />
  </filter>      
  <filter type="log4net.Filter.DenyAllFilter" />
  <filter type="log4net.Filter.LevelMatchFilter">
    <levelToMatch value="DEBUG" />
  </filter>
</appender>

1 个答案:

答案 0 :(得分:2)

使用以下解决方案解决了问题...

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net">      
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <param  name="StaticLogFileName" value="true"/> 
<file type="log4net.Util.PatternString" value="C:\log4net\TestLog_%date{yyyyMM}.log" />
    <appendToFile value="true" />
<rollingStyle value="Date" />
  <datePattern value="yyyyMM" />
    <maximumFileSize value="1000KB" />
    <maxSizeRollBackups value="3" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level %date{dd MMM yyyy HH:mm:ss,fff} %logger - %message%newline" />
    </layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
 <filter type="log4net.Filter.LevelMatchFilter">
    <levelToMatch value="DEBUG" />
  </filter>
</appender>