I\'m having a strange problem. I have multiple projects in a solution. One of them is a WebAPI and it logs just fine. Another is an MVC admin site, this one won\'t log. Here
I struggled for this solution for many days. I could finally found below solution worked for me>
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
plus the configuration suggested by @BCarlson
XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config"));
To summaries everything, I have created a sample c# console project for log4net configuration with external log4net.config file. https://github.com/riddhik84/Log4net-Tutorial
I had to setup the config file watcher in Application_Start:
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "logging.config"));
Turns out that DotNetOpenAuth.Core.dll uses log4net and will make using the AssemblyInfo solution not work. I found the details in this blog: http://hanskindberg.wordpress.com/2013/04/07/log4net-configuration/ (look at the paragraph that mentions DotNetOpenAuth.Core.dll)