Выбор правильного регистратора для обработки глобальных ошибок в приложении WCF

#c# #wcf #logging #nlog

#c# #wcf #ведение журнала #nlog

Вопрос:

Я настроил глобальную обработку ошибок, следуя этому руководству https://dzone.com/articles/logging-all-unhandled

Я использую Nlog вместо Log4Net, поэтому мой объект logger private static readonly Logger logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); . При запуске этого для обработанного исключения в классе он будет записывать данные в регистратор этого класса, позволяя мне увидеть, какой класс сгенерировал исключение. Когда исключение регистрируется глобальным обработчиком исключений, оно регистрируется классом обработчика исключений по умолчанию. Есть ли какой-либо способ просмотреть исходный класс из класса обработчика ошибок?

Даже если невозможно записать его в объект регистратора, зависящий от класса, наличие имени класса, по крайней мере, позволит мне поместить его в строку сообщения

Комментарии:

1. Если выходной целевой макет NLog включает ${exception:format=tostring} , то у вас должна быть полная трассировка стека из исключения. Смотрите также: github.com/NLog/NLog/wiki/Exception-layout-renderer

2. Возможно, эта статья может вам помочь.