Как мне регистрировать исключения в ASP.NET? - PullRequest
9 голосов
/ 21 января 2010

Как мне регистрировать исключения? Я никогда не пытался войти в .NET раньше. Также не пытайтесь сбрасывать исключения в текстовый (или двоичный) файл. Мне не нужен текстовый файл, просто способ просмотреть журналы с файлом и строкой #.

-edit- используя asp.net

Ответы [ 13 ]

16 голосов
/ 21 января 2010

ELMAH особенно хорошо, если вы используете ASP.NET. Одна из моих любимых функций в ELMAH - нет необходимости создавать пользовательский интерфейс для просмотра зарегистрированных исключений; ELMAH предоставляет обработчик, который сообщит о ваших исключениях. Тем не менее, я никогда не использовал его для регистрации чего-либо, кроме исключений.

log4net и EntLib от Microsoft - некоторые другие идеи, которые приходят на ум. Они предоставляют гораздо больше функциональности, чем вам может понадобиться, если все, что вам действительно нужно, это просто регистрация исключений .

Кроме того, вы можете рассмотреть счетчики производительности , если вы действительно пытаетесь измерить свое приложение. Опять же, преимущество использования счетчиков производительности заключается в том, что после публикации данных вам не придется беспокоиться о создании пользовательского интерфейса для просмотра / запроса данных.

7 голосов
/ 21 января 2010

log4net - довольно красивая и стандартная система для использования. Стоит изучить, и вы можете войти в различные форматы (или пользовательские). (Изменить: Однако, насколько мне известно, он еще не поддерживается в Silverlight, если это вас интересует, поэтому вам может потребоваться реализовать там свою собственную систему).

3 голосов
/ 21 января 2010

На самом деле, начиная с ASP.NET 2.0, вам не нужно регистрировать любые исключения. ASP.NET Health Monitoring сделает это за вас. По умолчанию он регистрирует исключения в виде предупреждений в журнале событий приложений.

Этот процесс может быть настроен с помощью конфигурации.

См. Обзор мониторинга состояния ASP.NET .

3 голосов
/ 21 января 2010

NLog довольно приятно. Это проще настроить, чем log4net ...

3 голосов
/ 21 января 2010

Для регистрации исключения , проверьте проект: ELMAH

Для других типов ведения журнала вы не можете пройти мимо Log4Net .

2 голосов
/ 21 января 2010

Блок приложения ведения журнала корпоративной библиотеки является одним из вариантов. Это может быть больше, чем вам нужно (или меньше), но это хорошо сработало для меня.

1 голос
/ 03 февраля 2010

Пока мы подключаем всевозможные каркасы журналов, позвольте мне подключить CuttingEdge.Logging . Он прост в настройке и хорошо интегрируется с ASP.NET, но не имеет средства просмотра, такого как у ELMAH.

1 голос
/ 21 января 2010

Не прямой ответ, но одна вещь, которую мы сочли полезной для регистрации проблем с нашим собственным кодом, - это создание базового класса исключений (унаследованных от Exception) и автоматическая регистрация сведений об исключениях с использованием Log4Net (или чего-либо другого) во всех из производных исключений.

Очевидно, что это не будет регистрировать другие типы исключений (BCL, третье лицо), но это полезно.

Еще одна вещь о регистрации исключений, если вам нужна полная трассировка стека, используйте Exception.ToString (), а не просто Exception.Message.

1 голос
/ 21 января 2010

Log4Net отлично и быстро учиться. Для множества дополнительных функций и визуализаций есть Exceptioneer .

0 голосов
/ 21 января 2010

NLOG выглядит хорошо ... но он просто регистрирует общие сообщения .. не исключения ...? или это то, что такое InfoException? например в режиме отладки вы можете рассчитывать и регистрировать количество итераций цикла ...

Также у кого-то возникли проблемы с разархивированием загрузок Log4Net на http://logging.apache.org/log4net/download.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...