有沒有簡單的方法來記錄ASP.NET應用程序中的所有異常?我已經通過Application_OnError事件記錄了未處理的異常,但即使在頁面級別處理異常時,我也要執行日誌記錄。ASP.NET異常處理/日誌記錄
非常感謝。
有沒有簡單的方法來記錄ASP.NET應用程序中的所有異常?我已經通過Application_OnError事件記錄了未處理的異常,但即使在頁面級別處理異常時,我也要執行日誌記錄。ASP.NET異常處理/日誌記錄
非常感謝。
假設您只是拋出並捕獲自己的異常類型(從System.Exception ofc派生),您可以在構造函數中創建基本異常日誌。
我不認爲有自動記錄處理的異常。如果你已經爲未處理的異常做了Application_OnError日誌記錄,恐怕Colin是正確的,你將不得不在catch塊中調用你想要登錄的異常處理異常的日誌記錄組件。
您可以使用Elmah來記錄您的例外。它非常易於使用,並提供有關該問題的良好信息。
ASP.NET健康監測做到這一點優雅而相當自動的方式(無需手動捕獲異常):
當您單擊第一個鏈接,有一個如何啓用和配置ASP.NET Health Monitoring的例子。您需要在web.config文件中配置它。
用於登錄到一個數據庫,您可以使用ASP.NET SQL Server註冊工具可以創建corresponsing表:ASP.NET SQL Server Registration Tool (Aspnet_regsql.exe)
我真的很喜歡它。對於手動日誌記錄來說,patterns & practices Enterprise Library's Logging Application Block可能適合你,但這有些偏離主題。
馬蒂亞斯
我同意科林,你應該記錄,無論你趕上(不重新拋出)。但是如果你需要記錄每一個沒有太多代碼修改的異常,然後處理AppDomain.FirstChanceException Event,你會得到所有的異常(也許這太多了:p,但它可以幫助你清理代碼)。
你的意思是抓住它,或使用Page_Error或其他東西?請更具體一些。 – RichardOD 2009-07-15 07:44:52
通過捕捉來處理。 – staterium 2009-07-15 07:48:13