Efter min erfaring sluger log4net normalt alle interne fejl, hvilket blot resulterer i log-udsagn, der ikke giver nogen resultater.
Det du måske vil prøve er at aktivere log4nets interne logning. Du kan gøre dette ved at tilføje følgende til dine appindstillinger
afsnit:
<add key="log4net.Internal.Debug" value="true" />
Dette indstiller egenskaben LogLog.InternalDebugging
til true
. log4net vil nu logge på standard output- og fejlstrømme og til konfigurerede sporingslyttere.
Du kan bruge den følgende konfiguration for at fange eventuelle meddelelser, der er logget til sporing:
<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>
Alle meddelelser logget af log4net internt vil blive vist i TextWriterOutput.log
. Hvis du får en SecurityException
når du tilføjer sporingslytteren til din konfiguration, har apppool-identiteten højst sandsynligt ikke tilstrækkelige rettigheder til at oprette en fil på den angivne placering (i eksemplet:c:\
). Prøv en anden placering, eller giv apppool-identiteten tilstrækkelige rettigheder.