Как использовать ThreadContext в Log4Net?C#

Место общения программистов C#
Ответить
Anonymous
 Как использовать ThreadContext в Log4Net?

Сообщение Anonymous »

У меня есть такой код

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

var messageProcesses = (from message in messageQueue.Messages
select ProcessMessageAsync(message)).ToList();
try
{
await Task.WhenAll(messageProcesses).NoState();
}
catch (Exception e)
{
...
}
_logger.WriteLog(LogLevel.Info, $"Processing Done.");
В пределах ProcessMessageAsync(message) у меня есть

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

log4net.ThreadContext.Properties["id"] = message.MessageID;
Этот идентификатор используется в AdoNetAppender: Обычно у нас есть несколько сообщений, поэтому мы используем ThreadContext. Должно ли это свойство быть доступно только внутри ProcessMessageAsync(message)? Однако по некоторым причинам в журнале «Обработка завершена» также вставляется предыдущий @id. Точно так же, как глобальное значение.
Есть предложения? или это так?

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

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

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

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

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

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