如何跟踪来自MVC 4的内部服务器错误?

时间:2012-07-17 11:47:41

标签: asp.net-mvc asp.net-web-api

由于ASP.NET MVC 4和WebAPI存在问题,请参阅link:

MVC 4 Web API - CreateResponse(status, object) causes HTTP 500

我需要检测内部Web API管道,看看发生了什么。

我该怎么做?

由于

**更新**

我现在已经实现了一个ITraceWriter,现在我可以看到TraceRecord上有一个Exception属性,我可以转储甚至可以解决这个问题。

谢谢,我想回答这个问题。

更多信息:

http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api

2 个答案:

答案 0 :(得分:4)

您可以为整个堆栈启用所有级别的跟踪(从基本的“信息”跟踪)。

如果您使用其中一个流行的库(即nLog),您可以根据需要轻松将其全部写入文件或事件日志。

只需用您的自定义类替换默认的ITraceWriter:

GlobalConfiguration.Configuration.Services.Replace(typeof(ITraceWriter), new NLogger());

您将看到各种内部跟踪消息填满日志。

我在这里发表了http://www.strathweb.com/2012/06/using-nlog-to-provide-custom-tracing-for-your-asp-net-web-api/

的博客

答案 1 :(得分:0)

您是否尝试过设置:

 GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

This是关于Web API中的错误处理和跟踪的好文章。