Model view controller 多重ELMAH滤波条件

Model view controller 多重ELMAH滤波条件,model-view-controller,elmah,Model View Controller,Elmah,我想知道是否有一种方法可以编写ELMAH,在以下逻辑下过滤错误日志: 如果错误在favicon.ico或上为404,则错误在/1.xml或上为404,错误在/2.xml 我已经找到了在favicon.ico上执行此操作的方法,如图所示: <errorFilter> <test> <and> <equal binding="HttpStatusCode" value="404" type="Int32" /> &

我想知道是否有一种方法可以编写ELMAH,在以下逻辑下过滤错误日志:

如果错误在
favicon.ico
上为404,则错误在
/1.xml
上为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>


但由于某些原因,我无法理解如何在
条件下执行此操作。任何帮助都将不胜感激。

以下内容可以帮助您完成任务,否则您将无法开始:

<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且分组在
元素下的一个正则表达式模式与请求URL匹配的错误。

您好Atif,我尝试了这个,但似乎不起作用。我想确保我处理得很好。下面是当我无法解析URL时如何抛出异常。抛出新的HttpException(404,String.Format(“找不到路径“{0}”的控制器,或者它没有实现IController。”,requestContext.HttpContext.Request.path));您是否注册了Elmah.ErrorFilterModule模块,并且它是否出现在模块部分的所有其他Elmah模块之后?是的,我已正确配置了所有模块。注意到一件有趣的事情,声明性web.config过滤不起作用,但编程部分起作用。我已经用程序化的方法解决了这个问题,但我希望听到更多的见解。如果我只使用404块,而不使用任何OR/regex条件(即,阻止所有404),那么也可以。我会做一些进一步的研究,如果我发现其他任何东西,我会添加我的评论。编程版本是什么样子的?您是否也使用相同的正则表达式模式来查找URL匹配?