Osobny plik konfiguracyjny Log4Net nie działa

Mam dziwny problem. Mam wiele projektów w rozwiązaniu. Jednym z nich jest WebAPI i dobrze się loguje. Innym jest strona administracyjna MVC, ta nie będzie się logować. Oto, co próbowałem.

Mój kod logowania:

var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Some log message");  

W AssemblyInfo próbowałem każdego z następujących ...

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "logging.config", Watch = true)]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "C:\\full_path\\logging.config", Watch = true)]  

W aplikacji startowej Global.asax wypróbowałem następujące elementy (usuwając linie assemblyInfo)

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("Logging.config"));
var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Application starting");  

To również nie tworzy dziennika. Jedynym sposobem, w jaki mogłem uzyskać jeden, było użycie kodu z global.asax i pełnej ścieżki do logging.config.

Jestem zdezorientowany, ponieważ webapi działa tylko z AssemblyInfo tylko ścieżką względną. Zrobiłem też przykładowe rozwiązanie zastępcze z projektem MVC z rozwiązaniem AssemblyInfo (ścieżka względna) i tam też działało.

Jakieś pomysły?

UPDATE - FOUND ISSUE

Musiałem skonfigurować obserwatora plików konfiguracyjnych w Application_Start:

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "logging.config"));

Okazuje się, że DotNetOpenAuth.Core.dll używa log4net i sprawi, że korzystanie z rozwiązania AssemblyInfo nie będzie działać. Znalazłem szczegóły na tym blogu:http://hanskindberg.wordpress.com/2013/04/07/log4net-configuration/

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion