Table of Contents

Логирование

S# предлагает несколько графических компонент для отображения логов: LogControl и Monitor.

При использовании визуальных компонентов логирования в качестве "слушателя" необходимо использовать логгер GuiLogListener. Этот логгер обеспечивает потоковую синхронизацию с GUI при записи новых сообщений LogMessage.

Чтобы в собственном классе реализовать возможность логирования необходимо реализовать интерфейс ILogReceiver. Более простой способ это унаследоваться от класса BaseLogReceiver, как это сделать продемонстрировано в примере Samples\Misc\SampleLoggingGitHub:

private class TestSource : BaseLogReceiver
{
}
private readonly LogManager _logManager = new LogManager();
private readonly TestSource _testSource = new TestSource();
public MainWindow()
{
	InitializeComponent();
	// immediate flush
	_logManager.FlushInterval = TimeSpan.FromMilliseconds(1);
	// set test log source
	_logManager.Sources.Add(_testSource);
	// set .NET Trace system based source
	_logManager.Sources.Add(new StockSharp.Logging.TraceSource());
	// write logs into MainWindow
	_logManager.Listeners.Add(new GuiLogListener(MonitorW));
	// and file logs.txt
	_logManager.Listeners.Add(new FileLogListener
	{
		FileName = "logs",
	});
}
	  				

См. также

Логирование

Панель логов

Расширенная панель логов