NLog 6.0.7 Несколько архивов, созданных при настройке многопроцессного журналированияC#

Место общения программистов C#
Ответить
Anonymous
 NLog 6.0.7 Несколько архивов, созданных при настройке многопроцессного журналирования

Сообщение Anonymous »

У меня есть многопроцессное приложение (один оркестратор и несколько рабочих процессов), где все процессы записывают в один и тот же файл журнала с использованием NLog 6.
Файл журнала настроен для архивирования:
  • ежедневно (ArchiveEvery=Day)
  • или когда его размер превышает 100 МБ (ArchiveAboveSize=104857600)
При достижении условия архивирования (ограничение размера или изменение дня) одновременно создается несколько файлов архива. Один архив имеет ожидаемый размер, а дополнительные архивы создаются с меньшими размерами.
Примеры опробованных мной конфигураций:

Код: Выделить всё

"extensions": [
{
"assembly": "NLog.Extensions.Logging"
},
{
"assembly": "NLog.Targets.AtomicFile"
},
{
"assembly": "NLog.Targets.ConcurrentFile"
}
],
"targets": {
"async": true,
"fileLog": {
"type": "AtomFile",
"layout": "${verbose}",
"fileName": "${basedir}/logs/App.log",
"archiveFileName": "${basedir}/logs/archive/App.log",
"archiveSuffixFormat": "_{1:yyyy-MM-dd}_{0}",
"archiveEvery": "Day",
"archiveAboveSize": "104857600",
"maxArchiveDays": "14"
}
}
или

Код: Выделить всё

"extensions": [
{
"assembly": "NLog.Extensions.Logging"
},
{
"assembly": "NLog.Targets.AtomicFile"
},
{
"assembly": "NLog.Targets.ConcurrentFile"
}
],
"targets": {
"async": true,
"fileLog": {
"type": "File",
"layout": "${verbose}",
"keepFileOpen": "true",
"concurrentWrites": "true",
"fileName": "${basedir}/logs/App.log",
"archiveFileName": "${basedir}/logs/archive/App_{#}.log",
"archiveEvery": "Day",
"archiveAboveSize": "104857600",
"archiveDateFormat": "yyyy-MM-dd",
"archiveNumbering": "DateAndSequence",
"maxArchiveDays": "14"
}
}
Ожидается ли такое поведение при ведении журнала нескольких процессов? Существует ли рекомендуемая конфигурация или рекомендации, позволяющие избежать нескольких одновременных операций архивирования, когда несколько процессов записывают данные в один и тот же файл журнала?`

Подробнее здесь: https://stackoverflow.com/questions/798 ... ging-setup
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»