如何将Log4Net配置为每天滚动?

时间:2014-06-27 04:37:10

标签: c# log4net

我想将Log4Net配置为每天滚动,我的意思是我希望每天在新文件中记录日志,所以我在Log4Net中配置App.config这样:

<?xml version="1.0" encoding="utf-8"?>
 <configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
 <log4net>
   <root>
     <level value="DEBUG" />
     <appender-ref ref="FileAppender" />
   </root>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
  <file type="log4net.Util.PatternString" value="E:/MyLog_" />
  <staticLogFileName value="False" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy.mm.dd'.log'" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date{dd/MM/yyyy HH:mm:ss.fff} - %level - %message%newline" />
  </layout>
 </appender>   
</log4net>
 <startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 </startup>
</configuration>

但它不起作用,问题是什么?

2 个答案:

答案 0 :(得分:1)

您的日期格式似乎不正确。如果他们使用与Microsoft相同的Date and Time Formatters(我不知道他们是否确实如此,但他们相当普遍),那么mm代表分钟,而不是几天。

根据log4net documentation,尝试将小写mm更改为大写MM

<datePattern value="yyyy.MM.dd'.log'" />

答案 1 :(得分:1)

试试这个:

<DatePattern value="yyyy.MM.dd.lo\g" />