【发布时间】:2011-07-30 23:47:59
【问题描述】:
Http 404 错误阻塞了我的日志文件。确实我需要解决 404 错误,但这样做本身就是一项任务。我将使用 Fiddler 之类的工具来查找 404,但我不希望它们被记录下来。
【问题讨论】:
标签: asp.net logging exception-handling log4net
Http 404 错误阻塞了我的日志文件。确实我需要解决 404 错误,但这样做本身就是一项任务。我将使用 Fiddler 之类的工具来查找 404,但我不希望它们被记录下来。
【问题讨论】:
标签: asp.net logging exception-handling log4net
404 作为 System.Web.HttpException 的实例被抛出。如果您在global.asax 中捕获/记录异常,那么这样的事情应该可以解决问题:
protected void Application_Error( object sender , EventArgs e )
{
Exception exceptionInstance = Server.GetLastError() ;
HttpException httpException = exceptionInstance as HttpException ;
int? httpStatusCode = ( httpException != null ? httpException.GetHttpCode() : (int?)null ) ;
if ( !httpStatusCode.HasValue || httpStatusCode != 404 )
{
LogExceptionHere() ;
}
return ;
}
如果您使用的是Elmah(而您是should be),则需要将其配置为忽略 web.config 中的 404。大致如下:
<configuration>
...
<elmah>
...
<errorFilter>
<test>
<equal binding="HttpStatusCode" value="404" type="Int32" />
</test>
</errorFilter>
...
</elmah>
...
</configuration>
【讨论】: