2

我刚刚开始使用 log4net。要读取 XML 配置文件,我的理解是您必须将以下内容放在项目的 AssemblyInfo 文件中:

<Assembly: log4net.Config.XmlConfigurator(ConfigFile:="Log4net.Config", Watch:=True)> 

我有一个包含多个项目的解决方案,似乎我必须将此语句放在解决方案中的每个 AssemblyInfo 文件中(每个项目一个)。我尝试将语句放在 Startup 项目的 AssemblyInfo 中,但在其他项目中记录调用将不起作用。我必须在每个进行日志调用的项目中包含该语句。

1) 有没有办法在一个地方调用 Config.XmlConfigurator,一次调用整个解决方案?

2)是什么导致我看到的行为?

4

2 回答 2

3

您应该将它放在“托管”您的解决方案的程序集中。在编译为“.exe”的程序集中的控制台/winform/wpf 应用程序中,在Web 应用程序中,我通常XmlConfigurator.Configure();在Application-Start 事件中显式调用。

于 2011-06-07T15:45:34.977 回答
1

为什么不在将被所有程序集引用的类中使用静态构造函数?如果它们在单个应用程序域中,那么它将被调用一次。

于 2011-06-07T15:45:31.433 回答