Я использую log 4net, чтобы регистрировать файлы с RollingFileAppender, который в настоящее время настроен как на размер файла, так и на дату (составная). В настоящее время шаблон даты установлен так, что он будет катиться каждый день. Вместо этого я хотел бы, чтобы это катилось каждую секунду.
Мне удалось изменить шаблон даты, однако каким-то образом самый маленький бросок, который я могу получить, сводится к минуте. Я думаю, что мой datepattern прав, так как он применяется правильно к имени файла с точностью до секунды (или даже миллисекунды, даже если я публикую здесь результат только для второго уровня). Однако бросок происходит только в следующую полную минуту.
Вот моя конфигурация для appender:
type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFilePath}Prog.csv" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="dd-MM-yyy_HHmmss" />
<PreserveLogFIlenameExtension value="true" />
<maxSizeRollBackups value="100" />
<ImmediateFlush value="true"/>
<maximumFileSize value="2MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Date], [Time], [Thread], [Component], [Group], [Purpose], [Msg] "/>
<footer value="[Date], [Time], [Thread], [Component], [Group], [Purpose], [Msg] "/>
<conversionPattern value="%d{[dd/MM/yyyy], [HH:mm:ss.fff]}, [%thread], %message%newline" />
</layout>
</appender>
И я получаю файлы примерно так:
- Prog.11-01-2020_004752.csv
- Prog.11-01-2020_004752.1.csv
- Prog.11-01-2020_004752.2.csv
- Prog.11-01-2020_004800.csv
- Prog.11-01-2020_004800.1.csv
- Prog.11-01-2020_004800.2.csv
- Prog.11-01-2020_004900.csv
- Prog.11-01-2020_004900.1.csv
- Prog.11-01-2020_004900.2.csv
Итак, я начал с 00h47m52s, который создал файл журнала, который покатился, потому что максимального размера, достигнутого дважды, затем он снова катится в следующую полную минуту в 00:48 мкс (что произошло из-за того, что максимальный размер был достигнут дважды) и в 00 ч. 49 м. 00 м. 50 мкс и т. д. c.
. Я делаю что-то неправильно ? Я не нашел ничего в Интернете после многих поисков. Единственное, что я нашел, это следующее сообщение:
Попытка не создавать новый файл каждую секунду, но если ограничение файла превышает, то создайте новый файл, используя log 4net
Они сообщали, что их конфигурационный файл делал каждую секунду, чего они хотели избежать. Конечно, они использовали шаблон даты, содержащий секунды, и он вел себя так, как я хотел бы, чтобы он работал. Так что, похоже, проблема не в шаблоне, который я использую. Это очень озадачивает.
Любая подсказка или пример очень приветствуются!