第一步是配置模块。确保在 ELMAH 的任何日志记录模块之后添加 Elmah.ErrorFilterModule,如下所示的 ErrorLogModule:
<httpModules>
...
//email
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
//sql
<add name="ErrorSql" type="Elmah.SqlErrorLog, Elmah"/>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
...
</httpModules>
然后在你的配置部分注册 Elmah.ErrorFilterSectionHandler 如下所示:
<configSections>
<configSections>
<sectionGroup name="elmah">
<section name="errorFilter" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
</sectionGroup>
</configSections>
现在您可以添加过滤器来决定哪些错误要忽略哪些来源。以下示例显示了如何防止发送 404 HTTP 错误。
<elmah>
<errorMail from="xx@xx.com" fromName="xx" to="xx@xx.com" subject="An unhandled exception occured xxx" priority="Normal" async="false" smtpServer="xx.xx.xx.com"/>
//sql
<errorLog name="ErrorSql" type="Elmah.SqlErrorLog, Elmah" connectionStringName="MyConnectionString" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
<errorFilter>
<test>
<and>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<regex binding="FilterSourceType.Name" pattern="mail" />
</and>
</test>
</errorFilter>
</elmah>
您可以在以下链接中找到更多详细信息。
http://code.google.com/p/elmah/wiki/ErrorFiltering