Log4net катит ежедневное имя файла с датой в имени файла
Я хотел бы иметь файлы, названные, например:
dd.mm.yyyy.log
Как это возможно с log4net?
- Расширение файла кода C ++? .cc vs .cpp
- Получить имя файла из строки URI в C #
- Как перебирать файлы в каталоге с помощью Bash?
- Разрешенные символы в имени файла
- Как получить имя файла из полного пути с помощью PHP?
В конфигурационном файле Log4net используйте следующий параметр с помощью RollingFileAppender:
Для RollingLogFileAppender вам также нужны эти элементы и значения:
Используя Log4Net 1.2.13, мы используем следующие параметры конфигурации, чтобы разрешить дату в имени файла.
Который предоставит файлы в следующем соглашении: logname-2015-04-17.txt
При этом обычно лучше иметь следующее, чтобы гарантировать, что вы держите 1 журнал в день.
Если размер файла является предметом озабоченности, следующее позволяет 500 файлов размером 5 МБ, пока не появится новый день. CountDirection позволяет восходящую или нисходящую нумерацию файлов, которые больше не являются текущими.
Я закончил использовать (обратите внимание на имя файла .log ‘и одиночные кавычки вокруг’ myfilename_ ‘):
Это дает мне:
myfilename_2015-09-22.log myfilename_2015-09-23.log . .
Чтобы сохранить расширение файла:
Я пробовал все ответы, но всегда было что-то недостающее и не функционировало так, как ожидалось для меня.
Затем я немного экспериментировал с подсказками, указанными в каждом ответе, и был успешным со следующей настройкой:
Проблема с другими комбинациями параметров заключалась в том, что последний файл не имел шаблона времени или что шаблон времени был добавлен как .log20171215
который каждый день создавал новое время файла (и расширение файла = новый тип файла!) Каждый день – или оба вопроса появились.
Теперь с этим параметром вы получаете файлы вроде этого:
LOG4NET_Sample_Activity-20171215.log
что я и хотел. Обобщить:
-
Не помещайте шаблон даты в атрибут
, просто укажите его в datePattern
. -
Убедитесь, что атрибут
preserveLogFileNameExtension
имеет значение true. -
Установите значение
rollingStyle
дляDate
.
Раздел расширенной конфигурации в предыдущем ответе с
... ... ... ...
перечисленные работы, но мне не пришлось использовать
, Я думаю, что RollingAppender должен (логически) игнорировать этот параметр, поскольку по определению файл восстанавливается каждый день, когда приложение перезагружается / повторно используется. Возможно, это имеет значение для немедленного опрокидывания КАЖДЫЙ раз, когда приложение запускается.