如何为WCF配置log4net

在我的asp webforms应用程序上,我会进行log4net初始化;

log4net.Config.XmlConfigurator.Configure(); 

在Application_Start上的global.asax上,以便在应用程序启动时完成一次。

为IIS托管的WCF应用程序配置log4net的正确方法是什么(具体询问该行在何处放置使用哪个事件等),以便log4net初始化一次并且没有不必要的初始化。

同样的事情: Application_Start 。 毕竟它是一个ASP.NET应用程序。 对于自托管服务,您可以在启动主机之前配置log4net

我通常在服务类的构造函数中执行此操作,但是我检查是否已经配置了log4net:

 if (!LogManager.GetRepository().Configured) { // configure log4net... } 

我想如果你真的想避免这种情况,你必须编写自己的服务工厂并在那里执行配置。

添加:

 XmlConfigurator.Configure(); 

每个服务类的构造函数对我来说都是有用的。