我想知道是否有一种方法可以编写ELMAH来过滤掉以下逻辑中的错误记录:
如果错误是favicon.ico
或上的404错误,则/1.xml
错误为404 错误为{{1}上的错误为404 }
我已经找到了在/2.xml
上执行此操作的方法,如下所示:
favicon.ico
但由于某种原因,我无法理解如何为 <errorFilter>
<test>
<and>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<regex binding="Context.Request.ServerVariables['URL']" pattern="/favicon\.ico(\z|\?)" />
</and>
</test>
</errorFilter>
条件做到这一点。任何帮助将不胜感激。
答案 0 :(得分:4)
以下应该可以解决问题,或者让你开始:
<errorFilter>
<test>
<and>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<or>
<regex binding="Context.Request.ServerVariables['URL']"
pattern="/favicon\.ico(\z|\?)" />
<regex binding="Context.Request.ServerVariables['URL']"
pattern="/[1-2]\.xml(\z|\?)" />
</or>
</and>
</test>
</errorFilter>
基本上,这将过滤HTTP状态代码为404 且的错误,其中一个正则表达式模式在or
元素下分组,与请求URL匹配。