J'utilise log4net et dans une classe, j'ai besoin de me connecter à un applicateur RollingFile, mais dans une autre classe, je souhaite me connecter au journal des événements + fichier roulant + console appender.Connexion de log4net à différents appenders en fonction des circonstances
Quelle est la meilleure pratique? et pourrais-je voir un exemple de code? Par ailleurs, pour rendre les choses plus difficiles, j'utilise Castle Windsor Logging Facility avec Log4net pour résoudre mon instance de Logger.
Si elle aide, je pensais ce ci-dessous, mais ne sais pas si cela est la meilleure pratique, ou comment activer un enregistreur particulier à base de « nom » en utilisant toujours mon instance en cours de l'enregistreur de windsor:
log4net.config:
...
<logger name="EventLogOnly">
<level value="ALL" />
<appender-ref ref="EventLogAppender" />
</logger>
<logger name="ConsoleEventLog">
<level value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="EventLogAppender" />
</logger>
...
château classe constructeur de conteneurs windsor:
container.AddFacility("logging.facility",
new LoggingFacility(LoggerImplementation.Log4net, "log4net.config"));
classe dans laquelle se connecter:
private ILogger Logger;
public Test(ILogger logger) {
Logger.Info("Can I log under event log only?");
Logger.Info("Now can I log under both?");
}
Merci les gars.
Ici vous pouvez trouver un moyen de créer une instance nommée Logger [Astuce] (http://kenegozi.com/blog/2009/12/11/windsorrsquos-logging-facility-getting-a-named-instance) –