5
我試圖刪除一些日誌記錄依賴關係,偶然發現城堡溫莎的日誌記錄設施。不過,我對我是否應該使用它持懷疑態度。城堡溫莎日誌記錄設施
public class MyClass
{
public Castle.Core.Logging.ILogger Logger { get; set; }
...
}
溫莎的日誌記錄工具要求您將記錄器暴露爲屬性。這真的是一個好習慣嗎?我覺得我幾乎要打破封裝,因爲通常當我重用一個組件時,我不關心它的日誌記錄機制,我通常不希望看到它暴露。
如果我使用使用靜態類創建日誌的自定義包裝,我可以保持它的私密性。例如:
public class MyClass
{
private static MyCustomWrapper.ILogger Logger = LogManager.GetLogger(typeof(MyClass));
...
}
我搜索過的原因,我應該使用日誌記錄功能的網頁,但我只發現在如何使用它的文章,但不爲什麼我應該使用它。我覺得我錯過了這一點。記錄組件暴露出來有點嚇人。
但我不會已經耦合到'Castle.Core.Logging.ILogger'嗎?或者是因爲'LogManager'是一個靜態類,我無法替代它? – Books 2010-11-15 13:46:48
@Ashley:確切地說。與接口的耦合少得多。 – 2010-11-15 13:50:40