2016-04-07 35 views
0

我有這個在我的web.config當「customErrors mode =」On「」時,如何查看/使用/記錄異常?

<customErrors mode="On" defaultRedirect="~\Error" > 
</customErrors> 

和一個簡單的ErrorController:

public class ErrorController : Controller 
{ 
    public ViewResult Index() 
    { 
    return View("Error"); 
    } 
} 

我想要做的就是將錯誤記錄到某些文件,返回Error視圖之前。然而,我似乎無法找到如何訪問我的控制器內拋出的異常的例子。任何幫助讚賞。

回答

1

我會建議使用像這樣的外部庫,例如Elmah。 Elmah攔截所有異常並將它們記錄下來,所以你絕不應該由你自己來註冊一個異常(如果你不想記錄非常具體的東西)。 Elmah可以配置爲保存到文件,內存,數據庫等。

下載nuget-package。 配置ELMAH使用的文件,而不是in memory:如果你想使用的儀表盤看到的,而不是直接在你的日誌文件尋找錯誤日誌

<elmah> 
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~\App_Data\" /> 
</elmah> 

,你應該達到它yourdomain/elmah.axd

別在部署到生產前,請忘記激活儀表板的身份驗證。

+0

這將與「customErrors mode =」On「」一起工作嗎? –

+0

它會在'on'和'off'上工作。通常你想一直記錄異常/錯誤。所以錯誤記錄實際上與將錯誤呈現給用戶的方式分開。 – Hypnobrew