2013-02-19 95 views
2

我的系统包含许多组件:Windows服务,Web服务和Web站点,所有这些组件都是用C#编写的。目前,所有组件都使用包装器DLL使用NLog记录到数据库,并且每个组件都拥有一个单独的配置文件(几乎相同)。多服务日志记录 - 最佳实践

我想将所有的配置文件联合为NLog的单个全局配置。什么是从每个组件获取全局配置的最佳方式?一个单一的全球文件?一个配置提供者服务?

回答

0

我有一个类似的要求(虽然不具体与NLog)。我有一个运行7种不同服务的系统,每个服务都需要记录活动以供以后报告。

我的解决方案:我创建了第8个组件...显示器。除此之外,我在其他7个服务中使用了XML序列化。他们会将XML“数据包”序列化到磁盘上,在监视器定期扫描的已知位置。扫描时会收集数据包,反序列化数据包,并按日期时间顺序生成官方日志文件。

我正在研究的另一个选择是利用命名管道与监视器直接通信,避免文件I/O及与其相关的所有伴随问题。