Как я должен зарегистрировать исключения в ASP.NET?

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

- редактирование - использование asp.net

9
задан Esteban Araya 21 January 2010 в 17:41
поделиться

13 ответов

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

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

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

16
ответ дан 4 December 2019 в 06:35
поделиться

Я согласен с теми, кто упомянул Эльма.

Единственная ошибка с Elmah - это то, что он не может регистрировать исключения, которые происходят за пределами фактического запроса на пользователя. Поэтому, если вы используете таймеры или иметь много кода, заканчиваемые событиями типа Ambiston_Start, вам придется вручную войти в систему этих исключений. Лучшая часть Elmah - это то, что она очень проста в настройке, и поставляется с пользовательским интерфейсом, поэтому вы можете на самом деле посмотреть на журналы (почему ни одна из других регистраторов, кажется, не поставляется с пользовательским интерфейсом).

LOG4NET - это гораздо более полное решение для ведения журнала, и особенно хорошо, если вы хотите сделать диагностическую регистрацию, информационное ведение журнала или иным образом захотеть регистрировать то, что «не ошибки». Проще настроить и использовать затем библиотеку предприятия.

Компонент лесозаготовительной библиотеки предприятия также популярен, но Entlib также примерно так же, как легкий вес и тонкий, как и грузовой поезд, особенно если вы не используете остаток того, что предложит Entlib.

0
ответ дан 4 December 2019 в 06:35
поделиться

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

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

Другое дело в результате регистрации исключений, если вы хотите полную трассировку стека, используйте Exception.toString (), а не только исключение.

1
ответ дан 4 December 2019 в 06:35
поделиться

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

2
ответ дан 4 December 2019 в 06:35
поделиться

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

Этот процесс является настроен через конфигурацию.

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

3
ответ дан 4 December 2019 в 06:35
поделиться

NLog очень хорош. Настройка проще, чем log4net...

3
ответ дан 4 December 2019 в 06:35
поделиться

Для ведения журнала Исключения , Проверьте проект: Elmah

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

3
ответ дан 4 December 2019 в 06:35
поделиться

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

7
ответ дан 4 December 2019 в 06:35
поделиться

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

1
ответ дан 4 December 2019 в 06:35
поделиться

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

1
ответ дан 4 December 2019 в 06:35
поделиться

Кажется, что вы вполне новые для программирования и недавно пытались выяснить более продвинутые темы. Если вам просто интересно увидеть файл и строку № исключения, то вам, безусловно, не нужно использовать какую-либо утилиту для ведения журнала, такую ​​как log4net или библиотека Microsoft Enterprise.

Теперь начните помещать свой код в блок Try-Catch и обрабатывать исключения (если есть) в блоке Catch.

try
{

}
catch(Exception ex)
{
   //handle exception
}

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

Надеюсь, это поможет.

-1
ответ дан 4 December 2019 в 06:35
поделиться

NLog выглядит хорошо .. но просто логически регистрирует общие сообщения .. не исключения ..? Или это то, что такое INFoException? например В режиме отладки вы можете рассчитывать и захотеть несколько раз, когда есть цикл итерации ...

Также у кого-то еще сложно расстевать загрузки Log4Net на http://logging.apache.org/log4net/ Download.html

0
ответ дан 4 December 2019 в 06:35
поделиться
Классы

Link

  • log4net - очень хороший вариант.
0
ответ дан 4 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: