Как Вы регистрируете ошибки (Исключения) в Ваших приложениях ASP.NET?

  1. Создать webapp / WEB-INF / views {Назовите последнюю папку как U Like} под src / main
  2. Добавить jstl jar
  3. добавить следующие две строки в приложении .properties spring.mvc.view.prefix: / WEB-INF / views / spring.mvc.view.suffix: .jsp Запускать как Spring Boot App ..U, хорошо идти! Для More U можно проконсультироваться с моим проектом на github: https://github.com/SudipBiswasRana/Using-JSP-As-View-For-Spring-Project
27
задан Mark Amery 5 June 2017 в 13:47
поделиться

7 ответов

Я использую elmah. Это имеет некоторые действительно хорошие функции и здесь статья CodeProject о нем. Я думаю, что команда StackOverflow использует elmah также!

29
ответ дан Dale Ragan 28 November 2019 в 05:23
поделиться

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

Сказав это, я использую это в тандеме с пользовательским обработчиком ошибок, который отправляет html-сообщение электронной почты с чуть большей информацией, чем включено в стандартную электронную почту log4net - страницу, переменные сеанса, файлы cookie, переменные http-сервера, и т.д.

Они оба связаны в событии Application_OnError, где исключение регистрируется как неустранимое исключение в log4net (которое затем вызывает его по электронной почте на указанный адрес электронной почты), а также обрабатываются с помощью пользовательского обработчика ошибок.

Впервые услышал о Эльме из записи в блоге Coding Horror, Ответственно за сбои , и, хотя это выглядит многообещающе, я пока не реализую его в любых проектах.

9
ответ дан Mun 28 November 2019 в 05:23
поделиться

Я использовал объекты Входа Библиотеки Предприятия. Это позволяет Вам иметь различные типы входа (плоский файл, электронная почта и/или база данных). Это довольно настраиваемо и имеет довольно хороший интерфейс для обновления Вашего web.config для конфигурации входа. Обычно я называю свой вход от На Ошибке в Global.asax.

Вот ссылка на MSDN

2
ответ дан Brian Childress 28 November 2019 в 05:23
поделиться

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

У меня будет Application_Error, также настроенный для перехвата любого исключения, которое не ожидалось, и ошибка регистрируется как фатальный приоритет через log4net (ну, 404 обнаруживаются и регистрируются как информация, поскольку они не так серьезны).

2
ответ дан Aaron Powell 28 November 2019 в 05:23
поделиться

Мое использование команды log4net от Apache. Это довольно легко и легко установить. Лучший из всех, это абсолютно настраивается из web.config файла, поэтому как только у Вас есть рычаги в Вашей установке кода, можно полностью измениться, способ регистрироваться сделан только путем изменения web.config файла.

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

0
ответ дан Brandon Wood 28 November 2019 в 05:23
поделиться

Я недавно создал веб-сервис asp.net с NLog, который я использую для всех своих настольных приложений. Вход хорошо работает, когда я отлаживаю в Visual Studio, но как только я переключаюсь на IIS, файл журнала не создается; я еще не определил, почему, но оно то, что я должен искать решение, заставляет меня хотеть попробовать что-то еще за свои потребности asp.net!

0
ответ дан 28 November 2019 в 05:23
поделиться

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

, Например, наш код был бы похож на это:

Try
  Dim p as New Person()
  p.Name = "Joe"
  p.Age = 30
Catch ex as Exception
  Log.LogException(ex,"Err creating person and assigning name/age")
  Throw ex
End Try

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

Это не могло бы быть точно, что Вы ищете. Другой подход, подобный использованию Global.asax, является нам методом инжекции кода как AOP с PostSharp. Это позволяет Вам вводить пользовательский код вначале и конец каждого метода или на каждом исключении. Это - интересный подход, но я полагаю, что это может иметь тяжелую производительность наверху.

0
ответ дан Michael Myers 28 November 2019 в 05:23
поделиться
Другие вопросы по тегам:

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