2013-02-19 91 views
2

我的系統包含許多組件:Windows服務,Web服務和Web站點,所有這些組件都是用C#編寫的。目前,所有組件都使用包裝器DLL使用NLog記錄到數據庫,並且每個組件都擁有一個單獨的配置文件(幾乎相同)。多服務日誌記錄 - 最佳實踐

我想將所有的配置文件聯合爲NLog的單個全局配置。什麼是從每個組件獲取全局配置的最佳方式?一個單一的全球文件?一個配置提供者服務?

回答

0

我有一個類似的要求(雖然不具體與NLog)。我有一個運行7種不同服務的系統,每個服務都需要記錄活動以供以後報告。

我的解決方案:我創建了第8個組件...顯示器。除此之外,我在其他7個服務中使用了XML序列化。他們會將XML「數據包」序列化到磁盤上,在監視器定期掃描的已知位置。掃描時會收集數據包,反序列化數據包,並按日期時間順序生成官方日誌文件。

我正在研究的另一個選擇是利用命名管道與監視器直接通信,避免文件I/O及與其相關的所有伴隨問題。