log4net 无法根据程序集属性工作



我让 log4net 使用外部配置文件,告诉我的应用程序配置在哪里可以找到配置文件,然后在应用程序启动时调用XmlConfigurator.Configure()

  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  ...
  <log4net configSource="Log4Net.config" />

这有效,但是我现在想观察更改,根据文档我应该能够使用assembly属性来实现这一点,这也意味着我不再需要调用XmlConfigurator.Configure()。因此,我将其添加到AssemblyInfo中.cs用于主应用程序(以及它引用的项目):

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

问题是,这根本无济于事。如果我删除对XmlConfigurator.Configure()的调用,则日志记录不起作用 - 不会启动日志记录。这些属性似乎没有区别。所以,我根本无法观看文件的工作。

谁能建议?

说。

这是因为第一个日志记录消息来自另一个程序集。正如log4net文档所说:

必须在应用程序启动期间尽早进行日志记录调用,当然在加载和调用任何外部程序集之前也是如此。

最新更新