Beschreibung:
Ich habe mir einen eigenen TraceListener geschrieben, welcher in einer TraceSwitch Collection genutzt werden kann, um damit eine Ablaufverfolgung in einer RichTextBox zu realisieren.
Die Klasse TextBoxTraceListener wurde von der TraceListener Klasse abgeleitet und die beiden abstakten Methoden " Write / WriteLine " überschrieben.
Über 2 Member Variablen werden die Trace Angaben zwischengespeichert und über eine Methode an eine statische List<string> Collection übergeben.
Die List<string> kann dann in jedem Fenster ganz leicht ausgelesen werden und in eine RichTextBox eingetragen werden.
Gesteuert wird der Komplette TraceListener über eine app.config.
Anbei hab ich mal die Komplette Solution eingefügt.
Über Feedback ( auch wie schrecklich einige den Code finden ) würde ich mich freuen.
So kann ich aus Fehlern lernen 😉
Grüße Stephan
public class TextBoxTraceListener : TraceListener
{
// Private Member Variablen zur Zwischenspeicherung
private string message1, message2;
// Überschriebene abstracte Methode
public override void Write(string message)
{
message1 = message;
}
// Überschriebene abstracte Methode
public override void WriteLine(string message)
{
message2 = message;
SchreibeInGenericList();
}
// Hier werden die Member Variablen an die List<string> übergeben
private void SchreibeInGenericList()
{
Program.TraceListe.Add(message1 + message2);
}
}
Schlagwörter: TraceListener, TraceEvent