Meiner Erfahrung nach schluckt log4net normalerweise alle internen Fehler, was einfach zu Protokollanweisungen führt, die keine Ergebnisse liefern.
Was Sie vielleicht versuchen möchten, ist die interne Protokollierung von log4net zu aktivieren. Sie können dies tun, indem Sie Folgendes zu Ihren appSettings
hinzufügen Abschnitt:
<add key="log4net.Internal.Debug" value="true" />
Dadurch wird die Eigenschaft LogLog.InternalDebugging
auf true
. log4net loggt sich nun in die Standardausgabe und Fehlerstreams sowie in konfigurierte Trace-Listener ein.
Sie können die folgende Konfiguration verwenden So erfassen Sie alle Nachrichten, die für die Ablaufverfolgung protokolliert wurden:
<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 von log4net intern protokollierten Meldungen erscheinen in TextWriterOutput.log
. Wenn Sie eine SecurityException
erhalten Wenn Sie den Ablaufverfolgungslistener zu Ihrer Konfiguration hinzufügen, hat die Apppool-Identität sehr wahrscheinlich keine ausreichenden Rechte, um eine Datei am angegebenen Speicherort zu erstellen (im Beispiel:c:\
). Versuchen Sie es mit einem anderen Standort oder geben Sie der Apppool-Identität ausreichende Rechte.