Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Log4net: контекст журнала только для исключения

Автор вопроса: KarstenОтветов: 1

Я ищу способ собрать набор данных, который будет использоваться только для отладки. То есть данные должны регистрироваться только в том случае, если я регистрирую исключение. Когда я получаю аргумент исключения с ILog.Error, Fatal или Debug, я хочу зарегистрировать дополнительную информацию. При регистрации других данных, за исключением исключения, дополнительная информация не должна регистрироваться.

Я планирую использовать GlobalContext или ThreadContext для создания набора данных.

Моя идея заключалась в том, чтобы подключиться к Log4Net и присоединиться к событию, которое я мог бы представить, чтобы изменить шаблон сообщения, чтобы включить контексты, но я не могу найти ни одного события, которое могло бы мне помочь. Может, есть способ попроще?

Что вы думаете об этом в целом? Я на правильном пути или что-то упускаю?

Если это хороший способ, как я могу его реализовать?

exceptionlogginglog4net

Ответы

Ответ 1 · рейтинг 1 · Peter Lillevold

Подкрепление и изменение шаблона кажется не совсем правильным. Я бы посоветовал посмотреть на фильтрующий материал. Итак, вы должны настроить приложение "ForMessagesWithExceptionsOnly", которое использует фильтр MessagesWithExceptionOnly. Этот аппендер, конечно, будет обрабатывать только сообщения, содержащие исключение.

Чтобы реализовать фильтр MessagesWithExceptionOnly, просмотрите FilterSkeleton.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы