2009-06-02 98 views
9

我的團隊目前正在構建ASP.NET MVC應用程序,我們正在嘗試確定要實現哪些框架來處理錯誤處理和日誌記錄。ELMAH與企業庫異常處理塊

選擇其中之一的原因是什麼?

+0

你爲什麼不考慮log4net? – Paco 2009-06-02 22:02:00

+0

log4net不做異常處理。它只記錄它們(例如寫入文件,數據庫,發送電子郵件...)。 ELMAH和EL_EHB允許您在發生異常時定義策略。例如,當這種類型的異常發生時,請執行此操作。記錄器和異常處理程序是相輔相成的。 – ihebiheb 2013-12-28 14:28:33

回答

11

就我個人而言,我一直在爲許多客戶使用企業庫,但我還沒有使用ELMAH。這是我對Ent Lib的看法。

  • 需要您花一點時間來熟悉Ent Lib - 這不是5秒安裝並開始使用它。
  • 在app.config/web.config文件中有很多配置可以使其工作。這就是說,一旦你理解了,就更容易在其他項目上。
  • 您必須實現日誌記錄塊,而不僅僅是異常處理塊來記錄信息(事件日誌,平面文件,數據庫等)
  • 這不僅僅是用於記錄異常。例如,我們的許多客戶希望在用戶登錄或註銷應用程序時獲取日誌事件。
  • 您可以使用配置文件來根據環境更改日誌記錄的工作方式(即記錄生產的異常情況,記錄Dev的所有日誌等)。
  • 它不僅適用於網絡,而且適用於各種應用。

粗略瀏覽一下ELMAH讓我相信這是快速獲得某些東西的好方法。從更長遠的角度來看,你可能需要額外的力量。

6

ELMAH簡單易用,易於實現。 EntLib很大,「企業化」,功能強大。就你而言,基於我對你的情況所知甚少,我會毫不猶豫地推薦任何東西。但是,如果我不得不爲你選擇一個,我會說ELMAH出於所述的原因。

+0

我可以提供哪些信息讓您的推薦更容易? - 謝謝 – 2009-06-02 17:56:46

+0

這將是什麼樣的應用程序?你需要異常策略管理還是隻需要異常日誌記錄? – 2009-06-02 18:01:51

5

我可能不在這裏,這是很常見的情況,但EntLibrary是爲了幫助開發異常處理,而ELMAH會告訴你何時何地發生異常。如果你只是想要一個異常報告,使用ELMAH,如果你需要更多的權力EntLib。

3

另外,Elmah專門用於捕獲和記錄未處理的異常。它可以配置爲記錄捕獲的異常,但這是最近的增加,而不是它的主要目的。