尽管花了几个小时在网上搜索,但我找不到解决这个问题的方法。作为 Web API v2 的菜鸟,对于有更多经验的人来说,这可能是一个非常简单的问题。
我有一个干净的 MVC 项目更新为使用 Web API v2。我已经通过 Nuget 安装了许多 ELMAH 包。
当在 MVC 中使用普通 Home 控制器时,如果我放置了一个无效页面,例如 /Home/test,它将生成 404。Elmah 反过来捕获了这个,我只从日志中知道哪些页面可能被破坏等。
我想将此级别的日志记录转移到 API 控制器。日志记录确实有效,但我必须向控制器抛出异常才能在 Elmah 中记录一些内容。
我猜像 404/415 错误之类的东西被归类为“已处理”异常,但我只记录了未处理的异常。
无论如何,我想要的是记录 API 控制器上的任何错误。通过这种方式,我可以监控 API 的使用情况以及调用客户端导致的任何错误。错误可能是 404s、不支持的数据类型的 415 等等。这样,如果来自客户端的发布数据有任何问题,我可以很容易地看到本应传回的响应。
提前致谢!
WebApi.config:
Public static void Register(HttpConfiguration config)
{
...
config.filters.add(new Elmah.Contrib.WebApi.ElmahHandleErrorApiAttribute());
}
过滤器配置:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new Elmah.Contrib.Mvc.ElmahHandleErrorAttribute());
filters.Add(new HandleErrorAttribute();
}