In mijn ervaring slikt log4net gewoonlijk interne fouten in, wat eenvoudig resulteert in log-statements die geen resultaten opleveren.
Wat u misschien wilt proberen, is de interne logboekregistratie van log4net inschakelen. U kunt dit doen door het volgende toe te voegen aan uw appSettings
sectie:
<add key="log4net.Internal.Debug" value="true" />
Dit stelt de eigenschap LogLog.InternalDebugging
naar true
. log4net logt nu in op de standaard output en error streams en op geconfigureerde trace listeners.
U kunt de volgende configuratie gebruiken om berichten vast te leggen die zijn vastgelegd voor tracering:
<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 berichten die intern door log4net worden gelogd, verschijnen in TextWriterOutput.log
. Als u een SecurityException
. krijgt wanneer u de trace-listener aan uw configuratie toevoegt, heeft de apppool-identiteit hoogstwaarschijnlijk niet voldoende rechten om een bestand op de opgegeven locatie te maken (in het voorbeeld:c:\
). Probeer een andere locatie of geef de apppool-identiteit voldoende rechten.