Попытка не создавать новый файл каждую секунду, но если лимит файла превышает, тогда создайте новый файл, используя log4net - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь создать файл с соглашением об именах Service_HH_mm_ss.txt.

формат именования файлов:

<file type="log4net.Util.PatternString" value="C:\\Log\\%date{yyyy-MM-dd}\\Service_%date{HH_mm_ss}.log" />

Также я указал максимальный размер файла

<rollingStyle value="Size" />      
<maximumFileSize value="10KB" />

Я хочу создать новыйфайл в том и только в том случае, если его размер превышает 10 КБ, но каждую секунду создается новый файл.

не удается найти решение.

Код файла конфигурации:
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> <file type="log4net.Util.PatternString" value="C:\\Log\\%date{yyyy-MM-dd}\\Service_%date{HH_mm_ss}.log" /><br> <encoding value="utf-8" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="20" /> <maximumFileSize value="10KB" /> <staticLogFileName value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level - %message%n" /> </layout>

Можно ли делать то, что я хочу, я не получаю никакого решения.

1 Ответ

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

В вашем определении Appender значение для имени файла меняется каждую секунду.Поэтому log4net создает новый файл каждую секунду.Если вам нужно точное время, чтобы быть частью имени файла, вы можете использовать скользящий стиль «Составной» и добавить DatePattern следующим образом:

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="C:\\Log\\%date{yyyy-MM-dd}\\Service_" />

  <encoding value="utf-8" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <datePattern value = "HH_mm_ss'.log'"
  <maxSizeRollBackups value="20" />
  <maximumFileSize value="10KB" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date %level - %message%n" />
  </layout>
...