Ограничение количества электронных писем, посланных Elmah

Кто-либо знает о хорошем способе ограничить количество электронных писем, посланных Elmah в течение периода времени как Вы, может с медицинским Контролем?

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

При рассмотрении elmah документации это похоже на использование:

void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{
    // perform filtering here   
}

в global.ascx файле могла бы быть опция. Я мог установить статический объект на приложение, которое содержит некоторых детали ошибки и зарегистрированное время, и проверьте его и отмените уведомление по электронной почте в случае необходимости?

У кого-либо есть лучшее решение или пример того, что они используют теперь?

11
задан beckelmw 4 January 2010 в 16:16
поделиться

3 ответа

Этот кодеплексный проект ASP.NET Exception Reporting, который является оберткой для Elmah, выглядит многообещающе. http://aspexceptionreporter.codeplex.com/

0
ответ дан 3 December 2019 в 08:55
поделиться

У меня возникла похожая проблема и я решил использовать для ELMAH метод log-to-SQL. Я использовал SQLExpress 2008 (бесплатную версию) на своем веб-сервере, а затем настроил SQL Reporting на отправку дайджестовых сообщений по электронной почте каждое утро.

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

Вики-страница ELMAH содержит информацию о том, как настроить web.config для указания на SQL-сервер. Есть много вариантов для получения данных, как только данные находятся в SQL, но я нахожу, что службы отчетов SQL Express идеально подходят для моих нужд.

2
ответ дан 3 December 2019 в 08:55
поделиться

Не знаю, есть ли у Elmah такая возможность (в документах об этом не упоминается), но у ASP.NET есть мониторинг здоровья: http://aspnet.4guysfromrolla.com/articles/032107-1.aspx

В конце концов, я написал свою собственную систему регистрации событий, уведомлений и развертывания для CMS... Я хэширую след стека каждого исключения и использую его для "сворачивания" похожих событий (веб-приложение может получить тысячи исключений менее чем за секунду, если что-то пойдет не так).

Я настроил период уведомления на 1 день - каждый день я получаю уведомление только о первой ошибке. Последний экземпляр ошибки всегда сохраняется, но старые экземпляры 'очищаются' до последних 20 или около того, в зависимости от частоты, etc.....

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

Очень мило... А так как она является общей, она работает и для не-террористических событий, таких как публикации, уведомления об изменениях пользователей и т.д..

Мне любопытно, не заинтересует ли кого-нибудь такая система, представленная в виде библиотеки?

4
ответ дан 3 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

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