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?
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);
}