2014-12-05 45 views
1

在大批量生產環境中,我應該在ASP.NET Web API 2.1中使用哪種錯誤日誌記錄解決方案?關於Web API中的錯誤日誌記錄的建議2

我試圖讓我的Web API儘可能輕量級,所以沒有MVC。只是簡單的舊的Web API,如果可以的話,我想保持這種方式。

回答

0

我看看ELMAH

http://www.asp.net/web-forms/overview/older-versions-getting-started/deploying-web-site-projects/logging-error-details-with-elmah-cs

使用:http://www.nuget.org/packages/Elmah.Contrib.WebApi

此外,在網絡API可以覆蓋onException的,只是叫你從那裏(NLOG記錄儀,或顯式調用Elmah)。

public sealed class CustomExceptionFilterAttribute : ExceptionFilterAttribute 
{ 
    public override void OnException(HttpActionExecutedContext actionExecutedContext) 
    { 
     yourLoggingMechanism.Log(actionExecutedContext.Exception); 
     base.OnException(actionExecutedContext); 
    } 
} 
在WebApiConfig類

然後,在註冊方法添加:

config.Filters.Add(new CustomExceptionFilterAttribute()); 

這些都只是一些想法,決定在哪裏登錄(即一個DB或也許Windows事件查看器等)真的取決於你在做什麼,你的決定可能會影響你是否想用Nlog或類似的東西去做。