2012-09-26 68 views
0

我想創建一個不記錄異常的日誌系統,但是用戶活動以及他們對數據執行的操作。例如,當用戶刪除一條記錄時,我想記錄用戶名,記錄ID,日期和...。這是創建日誌記錄系統的好方法

首先我決定創建一個日誌類,並在其他所有類的方法中使用它的方法。但在讀過一些博客和搜索之後,我發現這種方法與OOP的SRP原理相反。

現在我正在考慮另一種解決方案。我仍然有我的日誌課程。但不是在代碼中調用它的方法,我應該使用事件。我正在考慮添加一個偵聽器類來訂閱其他類所調用的事件。

假設在一個頁面中我有一個刪除一個順序的方法:

protected void DeleteOrder(Order order) 
{ 
    Orders.Delete(order); 
    DeletedEvent(this,order); 
} 

那麼用戶使用發送的數據創建日誌。這個類檢查對象類型並根據類型調用正確的私有方法來創建使用對象屬性的日誌。

這一般適用嗎?如果是這樣,這是一個好方法嗎?在此先感謝

回答