2013-06-25 11 views
0

我目前正在開發一個使用MongoDB作爲我選擇的數據庫的小型C#桌面應用程序,使用經典的three-tiered architecture(演示,業務邏輯和數據訪問)。最近,我和我的一個朋友進入了記錄的全部崩潰,我們開始討論應用程序日誌記錄發生的位置(對於應用程序消息/代碼,小錯誤,致命異常和其他所有內容)。就我個人而言,我相信在表現層做異常處理和錯誤日誌記錄是最佳的,但那只是我。在3層桌面應用程序中實現錯誤日誌記錄的最實用的地方是什麼?

是否有任何行業標準或任何有關伐木發生的地方?如果沒有,那麼在登錄任何一個層時會有哪些優點和缺點?

+1

就你而言,我會將它放在業務邏輯層中,因爲 - 根據我的經驗 - 這是驅動數據訪問和表示層功能的原因。 – Brian

+0

@Brian - 有趣......我從未見過將日誌直接附加到業務層;只能看到直接在表示層或作爲應用程序範圍的日誌記錄層進行日誌記錄。 –

回答

2

我同意你的觀點,如果你有一個傳統的三層桌面,那麼表示層的錯誤處理和日誌記錄就是最有意義的。如果你打算將一個非表示層與其他層(業務和數據訪問)連接起來,那麼它將成爲一場辯論。就像一個Web服務一樣。擁有日誌記錄和錯誤處理層是我在這些場景中經常使用的方法。

相關問題