Einloggen log4net zu verschiedenen Appenders basierend auf Umständen

8

Ich benutze log4net und in einer Klasse muss ich mich an einen RollingFile-Appender anmelden, aber dann möchte ich mich in einer anderen Klasse am Ereignisprotokoll + rolling file + console appender anmelden.

Was ist die beste Vorgehensweise? und könnte ich einen Beispielcode sehen?

Übrigens, um die Dinge schwieriger zu machen, verwende ich Castle Windsor Logging Facility mit Log4net, um meine Logger-Instanz aufzulösen.

Wenn es hilft, habe ich unten darüber nachgedacht, aber habe keine Ahnung, ob dies die beste Vorgehensweise ist oder wie man einen bestimmten Logger basierend auf 'name' aktiviert, der meine aktuelle Logger-Instanz von windsor nutzt:

log4net.config:

%Vor%

Burg Windsor Container Builder Klasse:

%Vor%

Klasse, in der protokolliert werden soll:

%Vor%

Danke Leute.

    
GONeale 05.11.2009, 01:59
quelle

1 Antwort

12

Sie können dies tun, indem Sie einen Filter auf einen Appender anwenden. Nur wenn das Protokollereignis den Filter passiert, wird das Ereignis von diesem Appender protokolliert.

Diese Filterkonfiguration protokolliert nur die Ereignisse, die vom Logger namens "MyLogger" kommen:

%Vor%

... und dieser wird Log-Nachrichten mit bestimmten enthaltenen Text übereinstimmen:

%Vor%

Mit Filtern ist eine gute Konfiguration möglich. Weitere Informationen finden Sie im log4net SDK oder im Abschnitt "Filter" von manual , für weitere Details.

    
Michael Petrotta 05.11.2009, 02:18
quelle

Tags und Links