我正在寻找在 ASP.NET MVC 4 Web Api 中启用登录/跟踪的功能。在 WCF 中,您可以激活日志记录和 WCF 写入它正在执行的操作。然后,我可以打开转储并搜索错误。
我不想跟踪我的 web api,而是记录框架正在执行的操作。如果我使用消息处理程序跟踪/记录 Web api,如果在我的实施之前发生错误,我将得不到任何信息。
我正在寻找在 ASP.NET MVC 4 Web Api 中启用登录/跟踪的功能。在 WCF 中,您可以激活日志记录和 WCF 写入它正在执行的操作。然后,我可以打开转储并搜索错误。
我不想跟踪我的 web api,而是记录框架正在执行的操作。如果我使用消息处理程序跟踪/记录 Web api,如果在我的实施之前发生错误,我将得不到任何信息。
见http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api
如果您提供 ITraceWriter 实现(可以像调用 System.Diagnostics.Trace 一样简单),Web API 框架将跟踪它所做的事情。
我推荐两件事。
1)为了获得有关抛出异常的完整详细信息,我将错误策略设置为始终。这应该从您的代码中返回更详细的异常消息。
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
我认为这仅适用于 RC。
2)然后我还建议连接一个消息处理程序,您可以使用它来额外的请求/响应信息。消息处理程序将在新请求进入时和最终响应返回之前运行。网上有很多这样的例子。WebAPIContrib 在它的GitHub存储库中有一个,你可以看看作为一个例子
3)如果您想监控其他服务器事件,您可能需要考虑使用asp.net 健康监控,当然只要您托管在 asp.net 中。它将允许您进行各种审计并监控服务器错误。