我有一个Windows服务。对于该服务中的日志记录,我使用的是Log4Net.dll。现在我的要求是我想每天创建一个新的日志文件,它应该只保留前7天的日志。意味着第8天,它应该删除第一天的文件并使用新文件。我正在使用appender:
<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>
在服务启动时,我将logger配置为:
log4net.GlobalContext.Properties["LogName"] = "App_" + DateTime.Now.ToString("MMddyyyy") + ".log";
log4net.Config.XmlConfigurator.Configure();
那么Log4Net的任何功能是否会实现上述功能?或者还有其他方法吗?任何类型的帮助将不胜感激。
答案 0 :(得分:1)
我担心你不能:RollingFileAppender Class
在日期/时间边界上滚动时的最大备份文件数 不支持
请查看此主题以获取其他建议:Log4Net: set Max backup files on RollingFileAppender with rolling Date
要每天实施日志文件,您可以使用:
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />