Log4Net RollingFileAppender отключить переименование файла при пролонгации - PullRequest
0 голосов
/ 04 октября 2019

мы используем Log4Net для регистрации с настройками:

<log4net>
   <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
     <file type="log4net.Util.PatternString" value="\\LogFiles\"/>
     <datePattern value="yyyy-MM-dd'_${COMPUTERNAME}_Api.txt'" />
     <staticLogFileName value="false" />
     <appendToFile value="true"/>
     <preserveLogFileNameExtension value="true" />
     <rollingStyle value="Composite"/>
     <MaxSizeRollBackups value="-1"/>
     <maximumFileSize value="50MB"/>
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%date - %message%newline"/>
     </layout>
   </appender>
   <root>
     <level value="INFO"/>
     <appender-ref ref="RollingFileAppender"/>
   </root>
 </log4net>

Каждый раз, когда происходит пролонгация, текущий файл переименовывается и создается новый с именем по умолчанию. Есть ли способ отключить это переименование, чтобы новый файл создавался с новым именем (без изменения имени для любых существующих файлов)? Причина, по которой я спрашиваю, состоит в том, что у нас есть другой процесс, который отслеживает зарегистрированные сообщения, и когда происходит опрокидывание, и файл просто переименовывается, наш процесс обрабатывает этот файл как новый и начинает повторять те же сообщения, которые он уже повторял.

Старый способ:

  • до ролловера:

    • 2019-10-04_IIS01_Api.txt (размер 50 МБ)
  • после ролловера:

    • 2019-10-04_IIS01_Api.txt (вновь созданный файл - размер 0 МБ)
    • 2019-10-04_IIS01_Api1.txt (old)переименованный файл - размер 50 МБ)

Новый способ:

  • до ролловера:
    • 2019-10-04_IIS01_Api.txt (размер 50 МБ)
  • после ролловера:
    • 2019-10-04_IIS01_Api1.txt (вновь созданный файл - размер 0 МБ)
    • 2019-10-04_IIS01_Api.txt (старый файл остается прежним - размер 50 МБ)
...