Регистрация исключений в asp.net - PullRequest
2 голосов
/ 23 марта 2011

В моей команде обсуждается ведение журнала исключений в веб-приложении относительно того, должны ли мы регистрироваться в текстовом файле или в журнале событий.

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

Ответы [ 5 ]

5 голосов
/ 23 марта 2011

Не изобретайте колесо - используйте уже существующую библиотеку журналов / инструмент, такой как log4net или ELMAH . И то, и другое дает вам несколько вариантов, где вы регистрируете исключения, зависит от вас, который вы предпочитаете.

Две вещи для рассмотрения:

1 - Куда вы входите, если вы входите в базу данных, но база данных недоступна / находится под большой нагрузкой?
2 - Windows Event Logging очень легок и пересылка журналов событий означает, что вы можете автоматически объединять журналы с нескольких машин без написания кода .

2 голосов
/ 23 марта 2011

Еще одна замечательная и простая в использовании библиотека журналов: NLOG

С сайта:

"Поддерживаемые цели включают в себя:

  • Файлы - один файл или несколько, с автоматическим именованием и архивированием файлов
  • Журнал событий - локальный или удаленный
  • База данных - хранит ваши журналы в базах данных, поддерживаемых .NET
  • Сеть -используя протоколы TCP, UDP, SOAP, MSMQ
  • Консоль командной строки - включая цветовое кодирование сообщений
  • Электронная почта - вы можете получать электронные письма при возникновении ошибок приложения
  • ASP.NET trace

… и многие другие

Другие ключевые функции:

  • очень прост в настройке, как с помощью файла конфигурации, так и программно
  • простой в использовании шаблон ведения журнала, известный из log4xxx
  • расширенная маршрутизация с использованием буферизации, асинхронного ведения журнала, балансировки нагрузки, переключения при сбое и многого другого
  • межплатформенная поддержка: .NET Framework, .NETКомпактный каркас и пнo (в Windows и Unix) "
1 голос
/ 23 марта 2011

В приложении, которое я работаю, мы используем для регистрации каждого исключения в базе данных, поэтому таким способом проще связать подробности исключений с «отчетом об ошибках пользователя», который они просят заполнить (что является нашей ошибкой по умолчаниюстраница).Это помогает нам в статистике и, как уже было сказано, связывая подробности исключений с пользовательским описанием ошибки (например, какие шаги он предпринял, чтобы получить эту ошибку и т. Д.) *

1 голос
/ 23 марта 2011

Я предпочитаю текстовый файл, потому что он обеспечивает большую гибкость и упрощает навигацию. Я предполагаю, что это вопрос предпочтений, но навигация между ошибками в журнале событий Windows кажется очень громоздкой. В дополнение к громоздкой навигации он включает в себя ошибки, которые вас не волнуют. Если вы можете определить формат и содержимого, то это намного эффективнее.

0 голосов
/ 06 октября 2017

Отказ от ответственности: я разработчик KissLog.net приложения для ведения журналов.

log4Net и Elmah очень хороши, но имеют ограниченные возможности.

Elmah не знает 't поддерживает сообщения трассировки / журнала и регистрирует только исключения, а log4Net не предоставляет пользовательский интерфейс для навигации по журналам.

Вы можете попробовать использовать KissLog.net , этоэто приложение, в котором я попытался объединить все необходимые функции ведения журнала (ошибки захвата, сообщения журнала / трассировки, простой в использовании пользовательский интерфейс)

...