kaivalya
kaivalya

Reputation: 3869

How to configure log4net for WCF

On my asp webforms app I would do the log4net initialization;

log4net.Config.XmlConfigurator.Configure();

on global.asax on Application_Start so that it is done once when the application starts.

What is the right way of configuring log4net for IIS hosted WCF apps(asking specifically about where to place this line which event to use etc) so that log4net gets initialized once on and there is no unnecessary initializations.

Upvotes: 12

Views: 8853

Answers (3)

Suh
Suh

Reputation: 59

Adding:

XmlConfigurator.Configure();

to the constructor of each of service classes did the trick for me.

Upvotes: 2

Stefan Egli
Stefan Egli

Reputation: 17028

I usually do this in the constructor of my service class, but I check if log4net is already configured:

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

I think if you really want to avoid this you would have to write your own service factory and perform the configuration there.

Upvotes: 16

Darin Dimitrov
Darin Dimitrov

Reputation: 1039508

Same thing: Application_Start. After all it is an ASP.NET application. For self hosting services you could configure log4net just before starting the host.

Upvotes: 4

Related Questions