D'après mon expérience, log4net avale généralement toutes les erreurs internes, ce qui se traduit simplement par des instructions de journal qui ne produisent aucun résultat.
Ce que vous voudrez peut-être essayer, c'est d'activer la journalisation interne de log4net. Vous pouvez le faire en ajoutant ce qui suit à votre appSettings
rubrique :
<add key="log4net.Internal.Debug" value="true" />
Cela définit la propriété LogLog.InternalDebugging
à true
. log4net va maintenant se connecter aux flux de sortie et d'erreur standard et aux écouteurs de trace configurés.
Vous pouvez utiliser la configuration suivante pour capturer tous les messages enregistrés dans le traçage :
<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>
Tous les messages enregistrés par log4net en interne apparaîtront dans TextWriterOutput.log
. Si vous obtenez une SecurityException
lorsque vous ajoutez l'écouteur de trace à votre configuration, il est très probable que l'identité de l'apppool n'ait pas les droits suffisants pour créer un fichier à l'emplacement spécifié (dans l'exemple :c:\
). Essayez un autre emplacement ou donnez à l'identité du pool d'applications des droits suffisants.