Как вы можете удалить старые файлы журнала log4net? - PullRequest
3 голосов
/ 19 апреля 2010

У нас есть приложение, которое регистрирует с использованием 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>

Ответы [ 3 ]

4 голосов
/ 19 апреля 2010

Если этот ответ вам не поможет, то вы также можете придумать службу Windows, которая бы выполняла работу по очистке.

1 голос
/ 05 октября 2012

Вы можете сделать это в программе:

        string[] logFiles = Directory.GetFiles("Logs\\");
        foreach (string logFile in logFiles)
        {
            FileInfo fileInfo = new FileInfo(logFile);
            if (fileInfo.CreationTime < DateTime.Now.AddMonths(-1))
            {
                fileInfo.Delete();
            }
        }
1 голос
/ 19 апреля 2010

Я бы предложил вам использовать планировщик задач Windows для этой работы.

...