是否可以设置log4net,以便一个共享配置XML文件用于许多Windows服务项目



我有几个Windows服务项目将安装在同一域中。每个项目都引用了company.core.common项目,我在其中放置了所有Windows服务项目要使用的共享方法和属性。我想将log4net实现为我所有Windows服务项目的日志记录解决方案,但我不需要将XML配置文件的部分复制并粘贴到每个Windows Service项目的app.config或维护多个配置文件。出于维护目的,我希望所有服务只有一个log4net配置文件。

有没有一种方法可以将log4net配置XML放入company.core.common项目中,并可能实例化记录器?

如果是这样的话,那么由于所有的Windows服务项目都引用了core.common项目,它们就可以在类文件中添加一个"using company.core.common"语句,然后类中的方法就可以将日志消息写入company.core.common.logger(其中logger是company.core.com.cn项目中log4net日志对象的实例)

我的服务项目都将记录到adonetAppender,该adonetAppander为根记录器写入SQL Server数据库。

我想你可以。你必须做两件事:

  1. 在运行windows服务的计算机中创建"共享"应用程序配置部分(log4net)的符号链接
  2. 将符号链接文件中的共享(log4net)合并到原始文件中。了解如何提供configSource属性以合并来自另一个部分配置文件的应用程序配置部分

最新更新