2012-07-17 24 views
2

由於與ASP.NET MVC 4和的WebAPI持續的問題,請聯繫:如何追蹤MVC 4內部的服務器錯誤?

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

回答

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/

+0

我已經完成了所有這一切,謝謝菲利普,但不幸的是,它忽略了寫一個體面的例外。我會更新這個問題。 – 2012-07-17 13:26:44

+2

在TraceRecord上找到異常屬性 - 不要在沒有ITraceWriter的情況下回家。 – 2012-07-17 13:38:16

+0

哈哈這是一個很好的座右銘 – 2012-07-17 13:49:20

0

你有沒有嘗試設置:

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

This是錯誤處理好崗位和網頁API跟蹤。

+0

是的,這是在一個條件(DEBUG)包裝,但這個特定的錯誤不會發出標準的ASP.NET barf頁面。 – 2012-07-17 13:07:28