log4net je nach den Umständen bei verschiedenen Appendern anmelden

Ich verwende log4net und muss mich in einer Klasse bei einem RollingFile-Appender anmelden. In einer anderen Klasse möchte ich mich beim Ereignisprotokoll + Rolling File + Console-Appender anmelden.

Was ist die beste Praxis? und könnte ich etwas Beispielcode sehen?

Übrigens, um die Dinge schwieriger zu machen, benutze ichProtokollierungsanlage von Castle Windsor mit Log4net, um meine Logger-Instanz aufzulösen.

Wenn es hilft, habe ich mir das unten überlegt, aber ich habe keine Ahnung, ob dies die beste Vorgehensweise ist oder wie ich einen bestimmten Logger basierend auf dem Namen aktiviere, wobei ich immer noch meine aktuelle Logger-Instanz von windsor benutze:

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>
...

schloss windsor container builder klasse:

container.AddFacility("logging.facility", 
   new LoggingFacility(LoggerImplementation.Log4net, "log4net.config"));

Klasse, in die sich einzuloggen gilt:

private ILogger Logger;
public Test(ILogger logger) {
  Logger.Info("Can I log under event log only?");
  Logger.Info("Now can I log under both?");
}

Danke Leute.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage