Как я должен зарегистрировать исключения? Я никогда не пытался войти в систему.NET прежде. Ни попытайтесь вывести исключения к txt (или двоичный файл) файл. Я не требую текстового файла, просто способ просмотреть журналы с файлом и строкой #.
- редактирование - использование asp.net
Эльмах особенно приятно, если вы используете ASP.NET. Одна из моих любимых функций о ELMAH не имеет необходимости создавать пользовательский интерфейс для просмотра зарегистрированных исключений; Elmah предоставляет обработчик, который будет сообщать о ваших исключениях. Однако я никогда не использовал его для регистрации чего-либо, кроме исключения.
log4net, а Entlib Microsoft - некоторые другие идеи, которые приходят на ум. Они обеспечивают гораздо большую функциональность, чем то, что вам может понадобиться, если все, что вам действительно нужно, это всего лишь Регистрация исключения .
Кроме того, вы можете рассмотреть счетчики производительности , если то, что вы действительно пытаетесь сделать, это измерить ваше приложение. Опять же, преимущество использования счетчиков производительности состоит в том, что после публикации данных вам не придется беспокоиться о создании пользовательского интерфейса для просмотра / запроса данных.
Я согласен с теми, кто упомянул Эльма.
Единственная ошибка с Elmah - это то, что он не может регистрировать исключения, которые происходят за пределами фактического запроса на пользователя. Поэтому, если вы используете таймеры или иметь много кода, заканчиваемые событиями типа Ambiston_Start, вам придется вручную войти в систему этих исключений. Лучшая часть Elmah - это то, что она очень проста в настройке, и поставляется с пользовательским интерфейсом, поэтому вы можете на самом деле посмотреть на журналы (почему ни одна из других регистраторов, кажется, не поставляется с пользовательским интерфейсом).
LOG4NET - это гораздо более полное решение для ведения журнала, и особенно хорошо, если вы хотите сделать диагностическую регистрацию, информационное ведение журнала или иным образом захотеть регистрировать то, что «не ошибки». Проще настроить и использовать затем библиотеку предприятия.
Компонент лесозаготовительной библиотеки предприятия также популярен, но Entlib также примерно так же, как легкий вес и тонкий, как и грузовой поезд, особенно если вы не используете остаток того, что предложит Entlib.
Не прямой ответ, но одна вещь, которую мы нашли полезными для регистрации проблем с нашим собственным кодом, создавали базовый класс исключения (унаследованных от исключения) и автоматически введя детали исключения, используя LOG4NET (или что-то), во всех полученных исключениях.
Очевидно, что это не будет регистрировать другие типы исключений (BCL, 3-я сторона), но это полезно.
Другое дело в результате регистрации исключений, если вы хотите полную трассировку стека, используйте Exception.toString (), а не только исключение.
Блок приложений регистрации библиотеки предприятия является одним из вариантов. Это может быть больше, чем вам нужно (или меньше), но он работал хорошо для меня.
На самом деле, поскольку Asp.net 2.0, вам действительно не нужно входить в систему любых исключений. Мониторинг здоровья ASP.NET делает это для вас. По умолчанию он будет регистрировать исключения, в качестве предупреждений, к журналу событий приложения.
Этот процесс является настроен через конфигурацию.
Для ведения журнала Исключения , Проверьте проект: Elmah
для Другое Типы ведения журнала, вы не можете пройти мимо log4net .
log4net - это довольно красивая и стандартная система для использования. Стоит обучения, и вы можете войти в различные форматы (или обычай). (Редактировать: однако, насколько я знаю, он еще не поддерживается на Silverlight, если это вас интересует, поэтому вам может потребоваться реализовать собственную систему там).
log4net отлично и быстро учиться. Для многих дополнительных функций и визуализации есть Exceptioneeper .
Пока мы подключаем сюда всевозможные фреймворки, позвольте мне подключить CuttingEdge.Logging . Он прост в настройке и хорошо интегрируется с ASP.NET, но ему не хватает средства просмотра, такого как у ELMAH.
Кажется, что вы вполне новые для программирования и недавно пытались выяснить более продвинутые темы. Если вам просто интересно увидеть файл и строку № исключения, то вам, безусловно, не нужно использовать какую-либо утилиту для ведения журнала, такую как log4net или библиотека Microsoft Enterprise.
Теперь начните помещать свой код в блок Try-Catch и обрабатывать исключения (если есть) в блоке Catch.
try
{
}
catch(Exception ex)
{
//handle exception
}
Вот исключение, вы можете найти трассировку стека, который даст вам точное представление о том, какой метод и код вы не удался.
Надеюсь, это поможет.
NLog выглядит хорошо .. но просто логически регистрирует общие сообщения .. не исключения ..? Или это то, что такое INFoException? например В режиме отладки вы можете рассчитывать и захотеть несколько раз, когда есть цикл итерации ...
Также у кого-то еще сложно расстевать загрузки Log4Net на http://logging.apache.org/log4net/ Download.html