Trace.WriteLineIf und EventLogTraceListener

28/09/2007 - 09:44 von SiliconDream | Report spam
hallo,

ich würde gerne in meinem projekt (C#2.0) die Ablaufverfolgung(Trace) auch
mit den Windowsereignissen(EventLog) nutzen. Das funktioniert auch soweit,
mit folgendem Code:

EventLog eventLog1 = new EventLog( "MyNewLog", Environment.MachineName,
"MySource" );
EventLogTraceListener eventTraceListener = new
EventLogTraceListener(eventLog1);
eventTraceListener.Name = "EventListener";
Trace.Listeners.Add( eventTraceListener );

und
Trace.WriteLineIf( _traceSwitch.TraceInfo, DateTime.Now + ": Info!" );

Der Vorteil bei dieser Lösung ist ja, dass ich mit einer Codezeile alle
Ausgaben (registrierte Listener) behandeln kann, und meine "Geschàftslogik"
nicht zu sehr mit zusàtzlichem Code für die Protokollierung belasten muß.

Das Schöne beim eventLog ist, dass es dort verscheidene Typen (z.B.
EventLogEntryType.Error ... ) gibt !

Jetzt meine Frage: Wie kann ich die verschiedenen Typen auch über diese
Trace-Befehle nutzen? Im obigen Beispiel wird immer nur der Typ "Information"
gesetzt.

Ist das überhaupt möglich?

Danke für die Hilfe?

Gruß
 

Lesen sie die antworten

#1 Frank Dzaebel
29/09/2007 - 16:54 | Warnen spam
Hallo,

wir benutzen hier gerne den vollen Vor- und Zunamen als Username.

Jetzt meine Frage: Wie kann ich die verschiedenen Typen auch über diese
Trace-Befehle nutzen? Im obigen Beispiel wird immer nur der Typ
"Information"
gesetzt. Ist das überhaupt möglich?



ja.

Trace.TraceError("Fehler Meldung");
Trace.TraceWarning("Warnungs Meldung");

Dein DateTime benötigst Du hier nicht.
Schau Dir ggf. auch die
eventTraceListener.TraceOutputOptions
an.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen