如何为WCF配置log4net

kai*_*lya 12 .net c# asp.net wcf log4net

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

log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)

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

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

Ste*_*gli 16

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

if (!LogManager.GetRepository().Configured)  
{  
  // configure log4net...  
} 
Run Code Online (Sandbox Code Playgroud)

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


Dar*_*rov 4

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