2011-03-23 73 views
2

在我的團隊中,有關於Web應用程序異常記錄的討論,關於我們是否應該登錄到文本文件或事件日誌。在asp.net中記錄異常

任何人都可以請告訴我哪個是在應用程序中發生異常記錄的更好方法?我已經提到的兩個中的任何一個還是有更好的選擇?

回答

5

不要重新發明輪子 - 使用寫你自己的日誌庫,而不是如log4netELMAH已經存在的日誌庫/工具。這兩種方式都爲您提供多種選擇來記錄異常情況,這取決於您的喜好。

兩件事情要考慮:

1 - 你在哪裏登錄,如果你登錄到數據庫,但數據庫不可用/重負載下?
2 - Windows事件記錄功能非常輕巧,而event log forwarding意味着您可以自動彙集多臺機器的日誌而無需編寫任何代碼

+1

,如果我可以投票這件事一百次,我會。 – 2011-03-23 06:56:18

1

我更喜歡一個文本文件,因爲它允許更大的靈活性和更方便的導航。我想這是一個偏好問題,但Windows事件日誌中的錯誤之間的導航似乎非常麻煩。除了繁瑣的導航之外,它還包含您不關心的錯誤。如果你可以定義格式的內容,那麼它更有效率。

1

在我的工作中,我們用來記錄在數據庫中的所有例外應用程序,所以這種方式更容易連接異常細節,他們要求填寫(以下簡稱「用戶錯誤報告」,這是在我們的默認錯誤頁面)。它可以幫助我們在統計和前面已經說了,連接異常細節錯誤的用戶描述(比如,哪些步驟,他走上得到這個錯誤,等...)

2

另一個偉大的,易於使用的日誌庫爲NLOG

從網站:

「支持的對象包括:

  • 文件 - 單個文件或多個,與 自動文件命名和歸檔
  • 事件日誌 - 本地或遠程
  • 數據庫 - 存儲你的日誌由.NET
  • 網絡支持的數據庫 - 使用 TCP,UDP,SOAP,MSMQ協議
  • 命令行控制檯 - 包括 顏色編碼的郵件
  • 電子郵件 - 您 可以收到電子郵件,每當 發生應用程序錯誤
  • ASP。Net跟蹤

...等等

其他主要功能:

  • 很容易配置,無論是通過配置文件和程序
  • 易於使用記錄器模式從log4xxx知
  • 使用緩衝,異步記錄,負載平衡,故障轉移等的高級路由
  • cro ss平臺支持:.NET Framework,.NET Compact Framework和Mono(在Windows和Unix上)「
0

聲明:我是KissLog.net日誌記錄應用程序的開發人員。

log4Net和Elmah非常好,但它們的能力有限。

Elmah不支持跟蹤/日誌消息,只記錄異常,而log4Net不提供用戶界面來瀏覽日誌。

你可以嘗試使用KissLog.net,它是我試圖聚集所有必要的日誌記錄功能的應用程序(捕獲錯誤,日誌/跟蹤消息,易於使用的用戶界面)