Според моя опит, log4net обикновено поглъща всички вътрешни грешки, което просто води до отчети за журнал, които не дават никакви резултати.
Това, което може да искате да опитате, е да активирате вътрешното регистриране на log4net. Можете да направите това, като добавите следното към вашите appSettings
раздел:
<add key="log4net.Internal.Debug" value="true" />
Това задава свойството LogLog.InternalDebuggingкод>
на true
. log4net вече ще влезе в стандартния изход и потоци за грешки и в конфигурирани слушатели на проследяване.
Можете да използвате следната конфигурация за улавяне на всички съобщения, регистрирани за проследяване:
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\TextWriterOutput.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
Всички съобщения, регистрирани вътрешно от log4net, ще се показват в TextWriterOutput.log
. Ако получите SecurityException
когато добавите слушателя на проследяване към вашата конфигурация, много вероятно самоличността на apppool няма достатъчно права за създаване на файл на посоченото място (в примера:c:\
). Опитайте с друго местоположение или дайте на идентификацията на apppool достатъчно права.