Je travaille sur la configuration de log4net dans une application multi-niveaux. J'ai la plupart de mon journal mis en place comme vous le souhaitez, mais maintenant j'essaie d'obtenir les entrées <logger>
dans .config mis en place de manière à permettre une flexibilité maximale sur les niveaux en cours de production.log4net imbriqués loggers .config exemple
Ma convention de nommage de l'enregistreur est quelque chose comme:.. [ExternalModuleName (s)]
ExecutableName.WorkerThreadName ClassName
Ma section en cours de définition de l'enregistreur dans le fichier .config ressemble à:
<root>
<level value="DEBUG" />
<appender-ref ref="MyAppender" />
</root>
<logger name = "ExecutableName">
<level value="FATAL" />
</logger>
<logger name = "ExecutableName.WorkerThreadName">
<level value="OFF" />
</logger>
<logger name = "ExecutableName.WorkerThreadName.ClassName">
<level value="INFO" />
</logger>
<!--repeat as necessary--->
J'espère que vous avez l'idée ... Il semble que cela a le potentiel d'exploser dans un gâchis d'entrées difficiles à maintenir (surtout lorsque l'application atteint une phase de support).
Des suggestions sur la meilleure façon de gérer les définitions de niveau pour les enregistreurs imbriqués?
J'ai joué un peu avec l'imbrication des instructions XML, mais cela ne semble pas fonctionner.