2008-11-29 85 views
1

我正在使用asp.net構建一個相當大的站點(表單如果有興趣的話),我想知道是否需要日誌框架(如log4net)。 我以前使用過這樣的框架,但是我不明白我可以如何將它應用到這種類型的項目中。 通常我認爲客戶交付的應用程序需要日誌記錄,日誌可以發回,然後分析錯誤。 你覺得呢?針對web應用程序的日誌記錄

+0

在一個點中提到的這樣的播客是log4net的造成了一定的死鎖的問題可能....想要熟悉這一點? – benlumley 2008-11-29 11:55:29

回答

6

赫克沒有記錄是令人難以置信的重要的web應用程序。如果您記錄正確,則會使故障排除因此更容易。

Log4Net作爲一個框架可能是一個不錯的選擇。您可能還需要一種從多臺服務器收集日誌的方法 - 即使您目前不使用多臺服務器,也可能建議您在某個時間點這樣做。

集中化的一個選擇是將日誌複製到數據庫中 - 請參閱this question獲取更多有關該方面的意見。

2

所有類型的應用程序都需要日誌。如果您運送您的應用程序,無論是客戶交付的還是內部的,無論是webform還是smartclient/windows應用程序日誌記錄/儀器形成它的主幹。

您的應用程序的最終用戶將如何知道應用程序按預期工作? 如果發生任何錯誤會發生什麼? 生產團隊將如何診斷錯誤? 最終用戶/管理員將如何主動分析應用程序並防止未來潛在的問題?

由於您使用的是ASP.net,我建議您也看看ASP.net的「健康監測」功能。

您可以爲不同類型的日誌記錄編寫自定義事件和提供程序,並可將其配置爲同步/異步使用。

您可以使用log4net或企業日誌記錄模塊以及「運行狀況監視」,並且可以用最少的工作量創建一個全面的日誌/儀表解決方案。

1

我肯定會爲企業信息庫(我認爲這是正確的名稱,它是用於登錄的Microsoft API)或企業庫進行擔保。

我使用後者的各種東西,如緩存,日誌記錄等,它是一個非常強大和節省時間的工具。我也使用健康監測。這是我正在構建的一個大型Web應用程序。

當你使用.NET登錄時,你會被寵壞,以上兩點建議都很棒。如果您需要了解應用程序的行爲,在發生錯誤的情況,誰和

大多數人是如何使用的應用程序(IP地址,時間,鏈接,...)用它來跟蹤需要

1

記錄程序執行,以便他們可以回答「爲什麼停止工作?」,「它何時停止工作?」等問題。等等

如果您知道應用程序代碼太清楚了,你可以很容易地重現問題,那麼我猜記錄是矯枉過正你:)

+0

我不能完全同意。記錄不僅僅用於診斷。它也可以用來分析請求。所以,即使應用編碼良好,我也會進行日誌記錄。 – 2008-12-01 13:54:52