Расширяя предыдущий ответ -
Чтобы добавить прослушиватель трассировки для трассировки log4net.Internal.Debug, добавьте это в ваше приложение конфигурации:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\temp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
Заменить initializeData значение атрибута выше вашего желаемый путь к файлу журнала. Убедитесь, что у приложения или сервера ASP.NET есть разрешение на запись в этот файл.
Другое, что вы можете сделать, это проверить сообщения, которые возвращаются из конфигурации log4net при запуске. Начиная с версии log4net 1.2.11 методы XmlConfigurator.Configure() возвращают ICollection, содержащие проблемы с перечислением строк, возникающие в процессе настройки.
Так что, если у вас есть что-то вроде этого:
XmlConfigurator.Configure();
изменить его на
ICollection configMessages = XmlConfigurator.Configure();
и проверить configMessages в отладчике, или распечатать их где-нибудь, например,
foreach (string msg in configMessages)
{
Console.WriteLine(msg);
}
Если все остальное терпит неудачу, загрузите исходный код log4net, добавить проект в решение, и ссылки на проект вместо log4net.dll. Теперь вы можете войти в вызовы log4net в отладчике.
После небольшого дополнительного копирования (следуя указателю на включение внутренней отладки, он выглядит как включение слушателя для System.Diagnostics.Trace также требуется. –
Следует также отметить, что appSettings необходимо пройти перед системой.атрибут диагностики. – Dan