NLog: переменная экземпляра регистратора c переменная (идентификатор корреляции) - PullRequest
0 голосов
/ 25 марта 2020

У меня долгий бизнес-процесс. Несколько экземпляров процесса могут работать одновременно. Я создаю регистратор в начале этого процесса и прохожу его через весь процесс. Это необходимо, чтобы связать все действия этого процесса в единую цепочку. Имеет ли регистратор что-то вроде идентификатора корреляции или можно определить переменную уровня регистратора, чтобы записать ее в базу данных в качестве идентификатора корреляции.

1 Ответ

0 голосов
/ 25 марта 2020

А как насчет использования MappedDiagnosticsLogicalContext?

using (NLog.MappedDiagnosticsLogicalContext.SetScoped("corelationId", MyCorelationId))
{
    Logger.Info("Hello");
}

В вашей конфигурации: ${mdlc:item=corelationId}

Существует больше классов контекста, см. NLog настраиваемый контекст

...