Reputation: 3869
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
Reputation: 59
Adding:
XmlConfigurator.Configure();
to the constructor of each of service classes did the trick for me.
Upvotes: 2
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
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