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

11
我已经为一个Web应用设置了ELMAH,将异常记录到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个回答

7

这是完全可能的。请查看 Elmah 的筛选文档

特别注意筛选来源章节。

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


已经查看了文档,恐怕需要比这更多的帮助。我卡在这里:<and> <not binding="Exception" pattern="StackOverflow" /> <not binding="FilterSourceType.Name" pattern="mail" /> </and> .. 这个不起作用。 - Sir Code-A-Lot
这可能是由于许多原因引起的。您是否将ErrorFilterModule添加到了HttpModules中?最好将您的所有elmah配置都添加到帖子中。 - Joel Cunningham
3
这个问题也许有所帮助。 - Joel Cunningham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接