基于日期和大小的Log4Net卷

时间:2018-12-06 10:32:58

标签: c# log4net log4net-configuration log4net-appender

嗨,我正在使用log4net的滚动文件附加程序进行记录, 我的要求是文件应根据大小和日期滚动。 但是当前文件仅根据日期滚动,如果文件大小超过限制,我设置删除所有日志。 这是我的配置-

   <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <file value=""/>
      <datePattern value="dd.MM.yyyy"/>
      <staticLogFileName value="true"/>
      <appendToFile value="true"/>
      <rollingStyle value="Composite"/>
      <maxSizeRollBackups value="10"/>
      <maximumFileSize value="1MB"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ABSOLUTE} %level %logger - %message%newline%exception"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="DEBUG"/>
        <levelMax value="ERROR"/>
      </filter>
    </appender>

我的服务器端代码-

var fileAppender = LogManager.GetRepository().GetAppenders().OfType<RollingFileAppender>().FirstOrDefault(fa => fa.Name == "RollingLogFileAppender");
if (fileAppender != null)
{
    fileAppender.File = Path.Combine(Constants._debugFilesPath + "\\Log-" + DateTime.Now.ToString("ddMMyyyy") + ".txt");
    fileAppender.ActivateOptions();
}

在大小超出限制文件之后,也如下所示- enter image description here

任何建议,我必须更改配置才能在超出大小后获得正确的日志。 谢谢

0 个答案:

没有答案