ELMAH:仅通过邮件发送特定的异常类型

时间:2010-05-31 08:34:08

标签: c# asp.net elmah

我让ELMAH设置了webapp,将异常记录到SQL服务器。

我希望ELMAH也向我发送电子邮件,但仅在抛出特定异常时(即 MySpecialException )。

ELMAH仍必须记录SQL服务器的所有异常。

我知道你可以在global.asax中以编程方式进行,但我更喜欢使用web.config。

那么,如何使用web.config限制ELMAH错误邮件以过滤掉除特定异常类型之外的所有内容?

更新

过滤器最终看起来像这样:

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

1 个答案:

答案 0 :(得分:6)

当然可以做到。查看elmah的过滤文档。

特别请查看按来源过滤

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