2010-12-12 2 views
2

Disons que j'ai la configuration des références appender suivante dans mon fichier .log4net.config:ordonner que log4net exécute ses appenders

<root> 
    <level value="ALL"/> 
    <appender-ref ref="ColoredConsoleAppender" /> 
    <appender-ref ref="EventLogAppender"/> 
    <appender-ref ref="RollingLogFileAppender" /> 
    <appender-ref ref="MyCustomAppender" /> 
</root> 

Est-ce que log4net invoquer ces appenders en série sur un seul thread (le même fil que la application appelante utilisée pour appeler la méthode ILog. *). Et si oui, dans quel ordre appelle-t-il chaque appender? Est-ce fait dans le même ordre que dans l'élément <racine>?

Répondre

2

En fonction de ce link (dans la section sur les Appendices Personnalisés: Ajout de Destinations), log4net exécute les Appenders dans l'ordre dans lequel ils apparaissent dans le fichier de configuration. De plus, les Appenders sont exécutés de manière synchrone. Je ne sais pas si l'auteur est un expert de log4net ou pas, mais l'article se lit assez bien.

+0

Merci pour une réponse rapide! – twistedstream

0

Bien que je n'ai pas pu trouver de confirmation indépendante de ce qui a été déclaré dans le lien, http: //www.devx.com/dotnet/Article/32096/1954, soit sur le site de log4net ou par googling supplémentaire j'ai changé l'ordre de mes appenders dans le fichier de configuration comme indiqué ci-dessous en fonction de l'article.

Peut-être l'élément racine est l'élément essentiel à l'ordre par j'ai changé l'ordre de appender éléments dans l'élément log4net ainsi

Mon raisonnement est que, dans un journal des événements scénario d'échec critique l'exploitation forestière aux fenêtres va avoir plus de succès que d'écrire dans un fichier (et pourrait être argumenté qu'il s'agit d'informations plus importantes?)

<log4net threshold="ALL"> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
     <!-- Make stuff go here --> 
    </appender> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <!-- Make stuff go here --> 
    </appender> 
    <root> 
     <appender-ref ref="EventLogAppender" /> 
     <appender-ref ref="RollingFileAppender" /> 
    </root> 
</log4net> 
Questions connexes