1

我有一个 Windows 服务。出于该服务的日志记录目的,我正在使用 Log4Net.dll。现在我的要求是我想每天创建一个新的日志文件,它应该只保留前 7 天的日志。表示在第 8 天,它应该删除第一天的文件并使用新文件。我将附加程序用作:

 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString" value="D:\Log\%property{LogName}" />
     <AppendToFile value="true" />
     <rollingStyle value="Date" />      
     <maxSizeRollBackups value="100" />       
     <staticLogFileName value="false" />
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%newline %date %-5level %C.%M() - %message" />
     </layout>
 </appender>

在服务启动时,我将记录器配置为:

log4net.GlobalContext.Properties["LogName"] = "App_" + DateTime.Now.ToString("MMddyyyy") + ".log";
log4net.Config.XmlConfigurator.Configure();   

那么 Log4Net 是否有任何功能可以实现上述功能?或者有没有其他方法可以做到这一点?任何类型的帮助将不胜感激。

4

1 回答 1

1

恐怕你不能:RollingFileAppender 类

不支持在日期/时间边界滚动时的最大备份文件数

查看此线程以获取其他建议:Log4Net: set Max backup files on RollingFileAppender with rolling Date

要每天实现日志文件,您将使用:

<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
于 2013-07-10T07:28:49.263 回答