Log4net RollingFileAppender перезаписывает файл, а не добавляет номер в конец - PullRequest
0 голосов
/ 07 февраля 2019

Я использую log4net в приложении с RollingFileAppender.У меня для RollingStyle установлено значение "Composite", а для staticLogFileName установлено значение "false", но при достижении MaximumFileSize он перезаписывает текущий файл, а не добавляет 1 в конец.Ниже мой код конфигурации:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="RollingFileAppender"/>
  </root>
  <appender name="console" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %level %logger - %message%newline" />
    </layout>
  </appender>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="logs\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <datePattern value="yyyyMMdd'.log'" />
    <staticLogFileName value="false" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <maximumFileSize value="10KB" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %level %logger - %message%newline" />
    </layout>
  </appender>
</log4net>

Часть даты работает правильно, когда день переворачивается, но я не могу понять, почему размер файла не работает.Обратите внимание, что размер 10 КБ предназначен только для проверки функциональности, а в производстве он будет большего размера.

Кто-нибудь может помочь?

Спасибо

1 Ответ

0 голосов
/ 08 февраля 2019

Вы не настроили maxSizeRollBackups , по умолчанию это 0, поэтому не будет никаких файлов резервных копий, и файл журнала будет обрезан при достижении maximumFileSize.

Настроитьas

<maxSizeRollBackups value="10" />

Обратите внимание, что значение 10 в сочетании с yyyyMMdd DatePattern будет хранить 10 файлов в день.

...