繁体   English   中英

如何删除旧的log4net日志文件?

[英]How can you delete old log4net logfiles?

我们有一个使用log4net记录的应用程序。 但我们希望每4周(自动)删除日志文件。
在log4net中有一个选项可以做到这一点还是我们需要有一个工作周期?

干杯,M。

这是我的配置

<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>

如果这个答案对您没有帮助,那么您还可以提供一个可以执行清除工作的Windows服务。

你可以在程序中这样做:

        string[] logFiles = Directory.GetFiles("Logs\\");
        foreach (string logFile in logFiles)
        {
            FileInfo fileInfo = new FileInfo(logFile);
            if (fileInfo.CreationTime < DateTime.Now.AddMonths(-1))
            {
                fileInfo.Delete();
            }
        }

我建议你使用Windows任务调度程序来完成这项工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM