Используя NLog как динамический регистратор файла

Как - если возможный - я могу использовать NLog в качестве динамического регистратора файла? как будто:

Я хочу иметь самое большее 31 файл в течение 31 дня и когда новый запущенный день, если существует старый дневной файл журнала ##.log, то он должен быть удален, но в течение того дня все журналы добавляются и будут там, по крайней мере, в течение 27 дней.

19
задан Kaveh Shahbazian 8 June 2010 в 19:39
поделиться

1 ответ

Я бы посоветовал вам разделить проблему на два разных аспекта:

  • Переход к новому имени файла каждый день (помните о часовом поясе ; Возможно, день UTC?)
  • Удаление старых файлов журнала

По моему опыту, было бы целесообразно сохранить дату в имени файла журнала, например

debug-2010-06-08.log

Эта часть должна быть простой с NLog, учитывая примеры в документации .

Теперь вторую часть можно легко выполнить во втором потоке или, возможно, даже в совершенно другом процессе - ему просто нужно увидеть, сколько файлов присутствует, и при необходимости удалить самые старые. Поиск «самого старого» должен быть легким, если дата указана в имени файла, даже если вы не хотите доверять информации файловой системы.

На самом деле, глядя на документацию NLog, похоже, что цель «временное архивирование файлов» может делать именно то, что вы хотите ... но даже если это не так, обычное " один файл журнала в день », и развернуть собственную очистку должно быть легко.

11
ответ дан 30 November 2019 в 03:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: