Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как вы регистрируете ошибки (исключения) в ваших приложениях ASP.NET?
Я ищу лучший способ регистрации ошибок в приложении ASP.NET. Я хочу иметь возможность получать электронные письма, когда в моем приложении возникают ошибки, с подробной информацией об исключении и текущем запросе.
В моей компании мы привыкли иметь свой собственный ErrorMailer, ловя все в Global.asax Application_Error. Он был "Ok", но не очень гибким и настраиваемым.
Мы недавно переключились на NLog. Это гораздо более настраиваемо, мы можем определить различные цели для ошибок, фильтровать их, буферизировать их (еще не пробовали). Это очень хорошее улучшение.
Но недавно я обнаружил, что для этой цели в фреймворке .Net есть целое пространство имен : System.Web.Management , и его можно настроить в разделе healthMonitoring web.config.
Вы когда-нибудь работали с мониторингом здоровья .Net? Каково ваше решение для регистрации ошибок?
Я использую Эльма . Он имеет некоторые действительно хорошие функции, и вот CodeProject статья о нем. Я думаю, что команда StackOverflow также использует elmah!
Я использовал Log4net, настроенный на email деталей фатальных ошибок. Он также настроен для записи всего в файл журнала, что является неоценимым при попытке отладки проблем. Другое преимущество заключается в том, что если эта стандартная функциональность не делает то, что вы хотите, то довольно легко написать пользовательский аппендер, который может обрабатывать информацию журнала по мере необходимости.
Сказав это, я использую это в тандеме с пользовательским обработчиком ошибок, который отправляет html email с немного большей информацией, чем входит в стандартную log4net электронную почту-страница, переменные сеанса, куки, переменные сервера http и т. д.
Они оба связаны в событии Application_OnError, где исключение регистрируется как фатальное исключение в log4net (которое затем вызывает его отправку по электронной почте на указанный адрес email), а также обрабатываются с помощью пользовательского обработчика ошибок.
Впервые услышал об Эльмах из записи в блоге Coding Horror, Crash ответственно, и хотя это выглядит многообещающе, я еще не реализовал в нем никаких проектов.
Я использую объекты ведения журнала корпоративной библиотеки. Это позволяет вам иметь различные типы ведения журнала (плоский файл, электронная почта и/или база данных). Это довольно настраиваемый и имеет довольно хороший интерфейс для обновления вашего web.config для конфигурации ведения журнала. Обычно я называю мою регистрацию на ошибки в Global.asax.
Я использую log4net и где бы я ни ожидал исключения, я регистрирую его на соответствующем уровне. Я не склонен повторно выбрасывать исключение, потому что оно действительно не позволяет получить максимально приятный пользовательский опыт, в текущем состоянии вы можете предоставить меньше информации.
Я также настрою Application_Error для перехвата любого исключения, которое не ожидалось, и ошибка регистрируется как фатальный приоритет через log4net (ну, 404-е обнаруживаются и регистрируются как информация, поскольку они не настолько серьезны).
Мы используем пользовательский доморощенный журнал 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. У нас есть email оповещения, настроенные на уровне DB, чтобы искать определенные ошибки или часто встречающиеся ошибки. Это помогает нам точно определить, откуда берутся ошибки.
Это может быть не совсем то, что вы ищете. Другой подход, похожий на использование Global.asax, - это для нас техника инъекции кода, подобная AOP с PostSharp . Это позволяет вводить пользовательский код в начале и конце каждого метода или в каждом исключении. Это интересный подход, но я считаю, что он может иметь большие накладные расходы на производительность.
Моя команда использует log4net из Apache. Он довольно легкий и легко настраивается. Лучше всего, что он полностью настраивается из файла web.config, поэтому, как только у вас есть крючки в настройке кода, Вы можете полностью изменить способ ведения журнала, просто изменив файл web.config.
log4net поддерживает ведение журнала в самых разных местах - база данных, email, текстовый файл, Windows журнал событий и т.д. Моя команда настроила его для отправки подробной информации об ошибке в базу данных, а также для отправки email всей команде с достаточным количеством информации, чтобы мы могли определить, в какой части кода возникла ошибка. Тогда мы знаем, кто отвечает за этот фрагмент кода, и они могут обратиться к базе данных, чтобы получить более подробную информацию.
Недавно я построил веб-сервис asp.net с NLog, который я использую для всех своих настольных приложений. Ведение журнала прекрасно работает, когда я отлаживаю в Visual Studio, но как только я переключаюсь на IIS, файл журнала не создается; я еще не определил, почему, но тот факт, что мне нужно искать решение, заставляет меня попробовать что-то другое для моих asp.net потребностей!