log4net - 使用多个配置文件进行配置

标签 log4net log4net-configuration

我有一个由主机和可插入模块(插件)组成的应用程序。

我希望能够为主机和其他每个模块配置 log4net。 他们每个人都应该有自己的配置文件,并且每个人都将记录到不同的文件。

只有主机才有App.config文件。这些插件有自己的配置文件,其中包含 log4net 配置部分。

从插件之一调用 XmlConfigurator.Configure 会覆盖主机的 app.config log4net 定义。

是否有一种简单的方法来附加配置而不是覆盖它们?

谢谢, 盖。

最佳答案

看来您已经找到了适合您的解决方案。然而,我找到了一个不同的解决方案,我认为它“更理想”,所以我将其发布在这里,供将来可能发现这个问题的人使用。

log4net 有一个称为存储库的概念,可以单独配置。它不是很流行,也没有很好的文档,但这里是我找到的一些文档:

http://logging.apache.org/log4net/release/manual/repositories.html

无论如何,您所需要做的就是在插件程序集上添加 RepositoryAttribute ,并使用该插件独有的存储库名称,log4net 会将其与其他所有内容分开。

关于log4net - 使用多个配置文件进行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2775386/

相关文章:

.net-core - 如何将 Log4Net 日志发送到 .NET Core 3.1 Web 应用程序的 Application Insights?

log4net - Log4net追加器阈值不起作用

.net - SmtpAppender log4net 使用 gmail smtp

c# - 如何禁止在应用程序启动时创建空日志文件?

log4net - 我怎么知道 log4net 认为它是从哪里获取配置文件的?

Log4net 不登录到 Application Insights

c# - 无法创建类型 'Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net'

Log4Net:多个记录器

log4j - Log4Net 是面向消息的中间件吗?

Azure 和 log4net - 删除进程名称