Protokollierung

S# bietet mehrere grafische Komponenten zur Anzeige von Protokollen: LogControl und Monitor.

Bei der Verwendung visueller Protokollierungskomponenten müssen Sie den Protokollierer GuiLogListener als Empfänger verwenden. Dieser Protokollierer stellt beim Aufzeichnen neuer LogMessage-Meldungen eine Synchronisierung im Datenstrom mit der GUI bereit.

Um Protokollierung in Ihrer eigenen Klasse zu implementieren, müssen Sie die Schnittstelle ILogReceiver implementieren. Einfacher ist es, von der Klasse BaseLogReceiver zu erben, wie im Beispiel Samples/08_Misc/01_Logging gezeigt:

private class TestSource : BaseLogReceiver
{
}
private readonly LogManager _logManager = new LogManager();
private readonly TestSource _testSource = new TestSource();
public MainWindow()
{
	InitializeComponent();
	// Sofortiges Flushen
	_logManager.FlushInterval = TimeSpan.FromMilliseconds(1);
	// Test-Protokollquelle setzen
	_logManager.Sources.Add(_testSource);
	// .NET-Trace-System als Quelle setzen
	_logManager.Sources.Add(new Ecng.Logging.TraceSource());
	// Protokolle in MainWindow schreiben
	_logManager.Listeners.Add(new GuiLogListener(Monitor));
	// und in die Datei logs.txt
	_logManager.Listeners.Add(new FileLogListener
	{
		FileName = "logs",
	});
}

Empfohlene Inhalte

Protokollierung

Protokoll-Panel

Erweitertes Protokoll-Panel