【问题标题】:Template Log4Net Configuration模板 Log4Net 配置
【发布时间】:2015-11-24 01:50:34
【问题描述】:

我正在尝试在多个项目中简化我们的 log4net 配置。

我们有多个创建日志的服务。它们的附加程序在每个服务 app.config 中定义。这会造成很多重复。

我想将 log4net 配置从这里转移到一个 Log4NetConfiguration.config 文件中,我可以从每个项目链接到类似于这个问题中接受的答案:

Share log4net configuration across multiple projects

这样开发时我们只需要在一个地方更改配置 - 但用户可以根据自己的选择配置不同的服务日志文件。

我们从一个通用实用程序程序集中调用 log4net.Config.XmlConfigurator.Configure() - 我如何让它从正在运行的服务加载相关版本的 Log4NetConfiguration.config?

【问题讨论】:

  • 当你将文件添加为链接时,它会被当作本地文件,并会被复制到bin目录,准备在服务中加载:获取路径是谨慎的,并将其传递给FileInfo 的新实例,允许您在调用XmlConfigurator.ConfigureAndWatch(fileInfo) 之前检查文件是否存在 - 如果找不到文件,log4net 不会抛出异常。

标签: c# log4net log4net-configuration


【解决方案1】:

根据 StuartD 的评论,它位于 bin 目录中。

因此,您可以只使用 Assembly.GetExecutingAssembly().Location 来获取与正在运行的应用程序相关的配置文件的位置。

然后按照建议使用 XmlConfigurator.ConfigureAndWatch(fileInfo)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2011-02-17
    相关资源
    最近更新 更多