Вы можете убедиться, что для вашего файла log4net.xml установлено значение «Копировать всегда» (щелкните правой кнопкой мыши файл log4net.xml -> Свойства -> Копировать в каталог вывода = Копировать всегда). Чтобы убедиться, что ваш файл конфигурации копируется, вы должны проверить каталог bin \ debug или bin \ release и убедиться, что файл log4net.xml существует в том же каталоге, в котором выполняется ваше приложение.
Если это не помогло, попробуйте включить внутреннюю отладку в log4net. Чтобы включить внутреннюю отладку, добавьте следующий ключ в файл app.config. Это отправит внутренние отладочные сообщения log4net в окно вывода Visual Studio («Просмотр» -> «Вывод»).
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
Дополнительную информацию о внутренней отладке в log4net вы можете найти в блоге Фила Хаака здесь .
Если ничего не помогает, вы можете включить внутреннюю отладку и явно загрузить конфигурацию, вызвав метод logml для XmlConfigurator.ConfigureAndWatch.
var fi = new FileInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\log4net.xml");
XmlConfigurator.ConfigureAndWatch(fi);