ELMAH: только отправка определенного типа исключения по почте - PullRequest
10 голосов
/ 31 мая 2010

У меня есть ELMAH, настроенный для веб-приложения, регистрирующий исключения на сервере SQL.

Я хочу, чтобы ELMAH тоже отправлял мне электронное письмо, но только когда выдается конкретное исключение (т. Е. MySpecialException ).

ELMAH по-прежнему должен регистрировать все исключения на сервере SQL.

Я знаю, что вы можете сделать это программно в global.asax, но я бы предпочел использовать web.config.

Итак, как мне ограничить сообщения об ошибках ELMAH, чтобы отфильтровать все, кроме определенного типа исключения, с помощью web.config?

UPDATE

Фильтр в итоге выглядел так:

<test>
    <and>
        <not>
            <is-type binding="Exception" type="MyApp.MySpecialException" />
        </not>
        <regex binding="FilterSourceType.Name" pattern="mail" caseSensitive="false"/>
    </and>
</test>

1 Ответ

6 голосов
/ 31 мая 2010

Это, безусловно, можно сделать. Ознакомьтесь с документацией по фильтрации elmah .

В частности, посмотрите раздел Фильтрация по источнику

<elmah>
...
<errorFilter>
    <test>
        <and>
            <equal binding="HttpStatusCode" value="404" type="Int32" />
            <regex binding="FilterSourceType.Name" pattern="mail" />
        </and>
    </test>
</errorFilter>

...