我有一個應用程序,我想將例外記錄到一個文件,我不想更改任何代碼。我只想要一個可以添加我的代碼的組件,它將開始記錄異常。我怎樣才能做到這一點?在不改變現有代碼的情況下記錄異常
0
A
回答
2
在ASP.NET中,您可以創建自定義IHttpModule
實現,並在其Init
方法中註冊一個事件處理函數HttpApplication.Error
。錯誤事件觸發時根據需要記錄異常。
using System;
using System.Web;
namespace ConsoleApplication1
{
public class ErrorLoggingModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.Error += OnError;
}
private static void OnError(object sender, EventArgs e)
{
Exception ex = HttpContext.Current.Server.GetLastError();
// log exception here...
}
public void Dispose()
{
}
}
}
1
ELMAH(錯誤日誌記錄模塊和處理)
是應用廣泛的錯誤記錄 設施是完全可插入的。 它可以動態地添加到 運行ASP.NET Web應用程序,或 甚至 機器上的所有ASP.NET Web應用程序,而無需任何 重新編譯或重新部署。
0
ASP.NET Health Monitoring是非常有用的,你只需要在web.config中配置它。
相關問題
- 1. django rest框架 - 在不改變現有代碼的情況下擴展auth.user
- 2. 只有在記錄不存在的情況下插入記錄
- 3. 在異常情況下查找源代碼行(Android,Eclipse)
- 4. 在不修改代碼的情況下更改輸出
- 5. 如何在不更改rowversion的情況下更新記錄
- 6. Berkeley DB:在不讀取記錄的情況下鎖定記錄
- 7. jUnit在不同情況下有相同的異常
- 8. 魔法記錄檢測在默認情況下沒有變化
- 9. 改變的情況下
- 10. 在不知道現有密碼的情況下修改用戶密碼
- 11. 在不訪問HTML源代碼的情況下實現Google Analytics
- 12. 在不改變VB代碼的情況下在Excel中添加新列
- 13. 如何在不修改C#應用程序中的代碼的情況下更改錯誤記錄位置?
- 14. 異常在JUnit的情況下實現了Spring Batch的
- 15. 在不更改源代碼的情況下添加鉤子
- 16. 在不更改代碼的情況下調用父類方法
- 17. 在不丟失舊代碼的情況下更改c#程序
- 18. 如何在不更改源代碼的情況下禁用TLSv1?
- 19. 如何在不改變概念的情況下縮短我的代碼長度?
- 20. 在不重新啓動Django和PTVS的情況下實現代碼更改
- 21. Ruby on Rails3如何在不改變太多現有代碼的情況下過濾數據
- 22. 應該記錄代碼拋出異常?
- 23. 如何在不改變本地代碼的情況下撤銷git push?
- 24. 如何在不改變算法代碼的情況下直觀顯示算法?
- 25. Haskell在不更改代碼的情況下刪除數據庫變量
- 26. 在異常情況下獲取OpenAccessContext中的修改實體
- 27. 在記錄日誌時異常情況很好?
- 28. 批處理腳本在異常情況下的異常行爲
- 29. 如何在不更改代碼的情況下從編譯的jar中檢索完整的異常消息?
- 30. 情況下表達改變