Если конфигурация расположена в Web.config приложения, то можно в Global.asax (не знаю, возможно ли это для Sharepoint) подписаться на событие старта приложения и произвести инициализацию log4net:
log4net.Config.XmlConfigurator.Configure();
Альтернативный вариант — использовать атрибут XmlConfigurator
. Его нужно применить к своей сборке (файл Properties.cs
). Чтобы сконфигурировать с настройками из Web.config:
[assembly: log4net.Config.XmlConfigurator()]
Чтобы сконфигурить с настройками из файла Log4Net.config:
[assembly: log4net.Config.XmlConfigurator(
ConfigFile="Log4Net.config", Watch=true )]
В случае с SharePoint может потребоваться жесткое указание путей к файлам. Например, если Log4Net.config лежит в папке 12:
[assembly: log4net.Config.XmlConfigurator(ConfigFile =
@"C:\Program Files\Common Files\Microsoft Shared\" +
@"Web Server Extensions\12\Log4Net.config", Watch = true)]
Или, если прокатит, то так:
[assembly: log4net.Config.XmlConfigurator(ConfigFile =
SPUtility.GetGenericSetupPath(@"Log4Net.config"),
Watch = true)]