我正在使用ServiceStack和ServiceStack.Logging.Log4Net
。使用AppHost文件中的最小配置:
log4net.Config.XmlConfigurator.Configure();
LogManager.LogFactory = new Log4NetFactory(true);
请求处理程序未找到异常(即没有匹配的路由)被神奇地拾取并记录。我不想记录这些异常,但我无法弄清楚如何排除它们。
我尝试过设置自定义异常处理程序:
ExceptionHandler = _appExceptionLogger.OnAppHostException;
但它似乎没有受到这些例外的影响。
答案 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>