Как настроить Log4Net на игнорирование ошибок 404? - PullRequest
2 голосов
/ 06 апреля 2011

Http 404 ошибки засоряют мои файлы журнала. Это правда, что мне нужно устранить ошибки 404, но это само по себе является задачей. Я буду использовать такой инструмент, как Fiddler, для поиска 404-х, но я не хочу, чтобы они регистрировались.

1 Ответ

2 голосов
/ 06 апреля 2011

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 (а вы должны быть ), вам нужно настроить его так, чтобы он игнорировал 404 в вашем файле web.config.Что-то вроде этого:

<configuration>
  ...
  <elmah>
    ...
    <errorFilter>
      <test>
        <equal binding="HttpStatusCode" value="404" type="Int32" />
      </test>
    </errorFilter>
    ...
  </elmah>
  ...
</configuration>
...