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