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.
Same thing:
Application_Start. After all it is an ASP.NET application. For self hosting services you could configurelog4netjust before starting the host.