在log4net中,如何才能为解决方案调用Config.XmlConfigurator一次?

时间:2011-06-07 15:41:13

标签: .net log4net log4net-configuration

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

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

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

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

2)我所看到的行为是什么原因造成的?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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