Если он действительно просто позволит записывать в БД все unhandled exceptions, то тогда надо пробовать!
Насколько это дополнительно нагрузит сайт, если посетителей много и исключения пока, к сожалению, не редкость (есть опыт?). Особенно, если по каждой ошибке надо будет писать в БД (удалённую), отсылать по e-mail.
Если они настолько часты, что запись в лог может существенно напрячь сервер, то у сайта уже большие проблемы. Экономия на записи в лог вряд ли спасет. :)
Серьезно говоря, на эти дополнительные расходы не нужно обращать внимания. Теряются на фоне остального.
Мы еще на момент деплоя настроили форвардинг евентов на центральный мониторинг сервер. К мониторинг сереверу еесно получили доступ. Там же настроили мыло для ошибок.
Короче. Суть в том что такие проблемы достаточно легко обоходятся если побеспокоится заранее.
Писать ошибки в базу не очень правильно на мой взгляд. Это хорошо до тех пор, пока не случаются ошибки с самой базой, что в самых запущенных случаях приводит просто к безумным последствиям для приложения. Т.е. это заранее надо всегда отлаживать и проверять.
PS: Отправка ошибок на Twitter. — А вот за это авторам респект, смысла никакого, но зато на модной волне и прикольно :)
Если при обработке ошибки в самом Elmah'e происходит ошибка (например база недоступна), то такие ошибки никуда выбрасываться не будут чтобы не нарушить работу главного апликейшена.
Глотание ошибок системой логгирования ошибок, вещь на самом деле ещё более неприятная. Позволяет запутать картину поведения приложения так, что потом концов не найдёшь. (Конечно, такие фаталы редкость, но в тоже время, иногда и бывает, что по крупицам поведение приложения потом приходится вытягивать).
Я у себя реализовал Application_Error в global.asax, сделал отсылку на email и вместе с текстом ошибки добавил ещё кучу полезной инфы. Работы там буквально на 15мин было.
Неужели так сложно вставлять исходники текстом? Я молчу про копирование, но ничего что у некоторых публичные файлообменники могут быть просто заблокированы корпоративной политикой?
Удобный мониторинг ошибок в приложении ASP.NET