我发现开箱即用的是ELMAH在我的本地服务器上记录了一个找不到favicon的404消息。如何通过过滤器抑制此错误?我对配置它还不太熟悉。
最佳答案
官方的Elmah Error Filtering page解释了抑制404图标图标错误的多种方法。
您可以像这样在web.config中声明性地过滤掉所有404错误。我不确定是否有一种方法只能隐藏404图标。
<errorFilter>
<test>
<equal binding="HttpStatusCode" value="404" type="Int32" />
</test>
</errorFilter>
如果要以编程方式执行此操作,则可以按照官方文档中的说明消除ErrorLog或ErrorEmail过滤事件中的错误。以下代码有些过分,但是它说明了如何仅过滤针对/favicon.ico请求的404错误。
void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (((HttpException)e.Exception.GetBaseException()).GetHttpCode() == 404
&& ((HttpContext)e.Context).Request.Path == "/favicon.ico")
{
e.Dismiss();
}
}
我个人更喜欢通过web.config声明性地过滤所有404,或者仅提供Joel建议的图标。
关于logging - ELMAh中的 block 404 FavIco错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762193/