Log4Net in WCF not working

前端 未结 5 1060
情深已故
情深已故 2020-12-03 22:40

Hi I am trying to use Log4Net in WCF IIS hosted service, but it doesn\'t log any data. Has anyone achieved logging in WCF service using Log4Net?

5条回答
  •  遥遥无期
    2020-12-03 23:29

    I am using log4net in MSMQ activated WCF service hosted in IIS 7. I use Ninject for dependency injection and installed Ninject.Extensions.Wcf, Ninject.Extensions.Logging.log4net NuGet packages and added log4net configuration section to Web.config file.

    I've seen people suggest adding log4net initialization code to Global.asax, but this doesn't work for MSMQ activated services as far as I can tell. However, Ninject installs WebActivator package that allows you to run initialization code when web application starts. Ninject places its own code into App_Start\NinjectWebCommon.cs. To configure log4net you need to add code to Start method. Mine looks like this:

    public static void Start() 
    {
        DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
        DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
    
        // configure log4net
        XmlConfigurator.Configure();
    
        bootstrapper.Initialize(CreateKernel);
    }
    

提交回复
热议问题