Группировка ошибок log4net по сходству - PullRequest
1 голос
/ 16 апреля 2009

Мы используем log4net для регистрации исключений приложений для различных веб-приложений. В настоящее время мы используем RollingLogFileAppender с порогом Info и SmtpAppender с порогом Warn.

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

Концептуально это просто - сопоставление с образцом последних, скажем, 50 символов записи журнала должно позволить нам сделать это.

Кто-нибудь реализовывал такое решение или кто-нибудь может порекомендовать лучший подход?

Ответы [ 3 ]

1 голос
/ 16 апреля 2009

Просто зарегистрируйте ваши строки как XML (другое форматирование, конечно, тоже будет работать).

Вот как мы это делаем:

<USERID>GUID</USERID><ERRORCODE>INVALID_XML</ERRORCODE><DESCRIPTION>File x is not in correct xml format</DESCRIPTION>

Затем мы анализируем файлы журнала и показываем их в виде таблицы с колонкой для errorcode, description, loglevel. Затем мы можем быстро отсортировать или отфильтровать, например, по ERRORCODE.

Поиск в наборе данных этих записей INVALID_XML быстро покажет нам, присутствовали ли эти ошибки в файле журнала.

И с помощью идентификаторов пользователя мы также можем видеть все вызовы, которые клиент делал во время входа в систему.

1 голос
/ 16 апреля 2009

Вы можете попробовать использовать другой Appender (скажем, DBAppender) (с порогом ошибки, конечно), а затем отсортировать полученные таблицы.

0 голосов
/ 16 апреля 2009

Я не думаю, что такое решение существует "из коробки". Однако вы можете определить собственный уровень журнала (или выбрать один из неиспользуемых) для вывода на собственный ILog для более распространенных ошибок и отфильтровать их в «основном» журнале ошибок без особых проблем. .

...