如何防止记录404 Not Found异常?

时间:2014-01-14 16:21:47

标签: servicestack

我正在使用ServiceStack和ServiceStack.Logging.Log4Net。使用AppHost文件中的最小配置:

log4net.Config.XmlConfigurator.Configure();
LogManager.LogFactory = new Log4NetFactory(true);

请求处理程序未找到异常(即没有匹配的路由)被神奇地拾取并记录。我不想记录这些异常,但我无法弄清楚如何排除它们。

我尝试过设置自定义异常处理程序:

ExceptionHandler = _appExceptionLogger.OnAppHostException;

但它似乎没有受到这些例外的影响。

1 个答案:

答案 0 :(得分:4)

所以我在ServiceStack源代码中搜索了正在记录的字符串,发现它是由NotFoundHttpHandler class

记录的

这意味着我可以通过向log4net config添加自定义记录器来覆盖日志记录行为:

ServiceStack v3:

<logger name="ServiceStack.WebHost.Endpoints.Support.NotFoundHttpHandler">
    <level value="OFF" />
</logger>

ServiceStack v4:

<logger name="ServiceStack.Host.Handlers.NotFoundHttpHandler">
    <level value="OFF" />
</logger>