我们有一个使用log4net记录的应用程序。 但我们希望每4周(自动)删除一次日志文件 在log4net中有一个选项可以做到这一点还是我们需要有一个工作周期?
干杯, 微米。
这是我的配置
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs/Log4Net/"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<datePattern value="yyyy-MM-dd-HH.lo\g" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
答案 0 :(得分:4)
如果this answer对您没有帮助,那么您还可以提供一个可以执行清除工作的Windows服务。
答案 1 :(得分:1)
我建议你使用Windows任务调度程序完成这项工作。
答案 2 :(得分:1)
你可以在程序中执行此操作:
string[] logFiles = Directory.GetFiles("Logs\\");
foreach (string logFile in logFiles)
{
FileInfo fileInfo = new FileInfo(logFile);
if (fileInfo.CreationTime < DateTime.Now.AddMonths(-1))
{
fileInfo.Delete();
}
}