2010-09-10 7 views
4

J'ai eu une question log4net rapide. Comment puis-je spécifier quel appender utiliser à partir de l'app.Config? Ce fichier de configuration particulier référence 2 différents appenders. Les deux sont des applicateurs de fichiers roulants, mais ils pointent vers des fichiers différents. Tout au long de l'application, log4net est appelé et un type est passé dans le constructeur. comme ça ...Comment puis-je dire à log4net quel appender utiliser à partir de app.config

private static readonly ILog log = LogManager.GetLogger(typeof(Foo)); 

Comment log4net sait quel appender choisir? Pouvez-vous mapper des types à des appenders nommés spécifiques? Je sais qu'il y a 5 constructeurs pour GetLogger, pouvez-vous passer un type et un nom d'appender? Je vois "repositoryName", je ne sais pas ce que c'est. Si quelqu'un peut me diriger dans la bonne direction, je l'apprécierais grandement. Je voudrais qu'un certain nombre de types se connectent spécifiquement à un appender.

Merci pour les conseils,
~ ck à San Diego

Répondre

5

Utilisez un élément <logger>, en utilisant le nom complet de la classe de Foo:

<logger name="full.parent.namespace.Foo"> 
    <level value="WARN" /> 
    <appender-ref ref="SomeAppender" /> 
</logger> 

Spécifiez un niveau minimum et référence à la puissance requise appender à utiliser.

Vous pouvez également utiliser un seul <logger> pour toutes les classes d'un espace de noms particulier en omettant le nom de la classe.

<logger name="full.parent.namespace"> 
    .... 
</logger> 
+0

parfait! Merci beaucoup. ~ ck – Hcabnettek

Questions connexes