在我的Prism/CAL WPF應用程序中實現NLog的最佳方式是什麼?這可能是一個業餘愛好者的問題,我對整個Prism框架有點新穎:)正確實施NLog和Prism
我想過在基礎設施模塊中引用NLog dll並創建一個包裝單例類,例如, MyLogger。我的想法是能夠在一箇中心位置的某個地方引用1個記錄器實現,而且我所知道的唯一一件事情就是您的基礎架構模塊。
明顯的另一種方法是添加到每個模塊的NLog的引用,但我認爲這將打破解耦的目的和所有這一切。
任何想法將是最有幫助
問候
在我的Prism/CAL WPF應用程序中實現NLog的最佳方式是什麼?這可能是一個業餘愛好者的問題,我對整個Prism框架有點新穎:)正確實施NLog和Prism
我想過在基礎設施模塊中引用NLog dll並創建一個包裝單例類,例如, MyLogger。我的想法是能夠在一箇中心位置的某個地方引用1個記錄器實現,而且我所知道的唯一一件事情就是您的基礎架構模塊。
明顯的另一種方法是添加到每個模塊的NLog的引用,但我認爲這將打破解耦的目的和所有這一切。
任何想法將是最有幫助
問候
我建議類似於您的第一個想法的東西,雖然它利用Prism中已經存在的接口。
雖然我不知道在NLOG提供給你確切的方法簽名,你可能要考慮使用棱鏡的ILoggerFacade接口,這通常是在你的引導程序規定(見的,這是如何以身作則的StockTraderRI應用向上)。通常情況下,這會作爲傳遞到Microsoft's Composite Logging interface,但沒有理由不能用它來掛鉤到自己的記錄器中。
的幾個原因來考慮這種做法:
背後的對象另一種方法是做你的建議:創建定義到一個NLOG的服務接口(或暴露的現有NLOG INTERF ace),並在引導程序中註冊該服務的實現。然後,您可以使用您的依賴注入容器來獲取模塊中對記錄器服務的引用。但是,請注意,這真的只是再現了ILoggerFacade界面已經給你的東西。