Registo de logs
S# disponibiliza vários componentes gráficos para apresentar logs: LogControl e Monitor.
Ao utilizar os componentes visuais de registo, é necessário utilizar o logger GuiLogListener como "listener". Este logger fornece sincronização em fluxo com a GUI ao gravar novas mensagens LogMessage.
Para implementar a possibilidade de registo na sua própria classe, é necessário implementar a interface ILogReceiver. Uma forma mais simples é herdar da classe BaseLogReceiver, como mostrado no exemplo Samples/08_Misc/01_Logging:
private class TestSource : BaseLogReceiver
{
}
private readonly LogManager _logManager = new LogManager();
private readonly TestSource _testSource = new TestSource();
public MainWindow()
{
InitializeComponent();
// flush imediato
_logManager.FlushInterval = TimeSpan.FromMilliseconds(1);
// definir fonte de log de teste
_logManager.Sources.Add(_testSource);
// definir fonte baseada no sistema .NET Trace
_logManager.Sources.Add(new Ecng.Logging.TraceSource());
// gravar logs em MainWindow
_logManager.Listeners.Add(new GuiLogListener(Monitor));
// e no arquivo logs.txt
_logManager.Listeners.Add(new FileLogListener
{
FileName = "logs",
});
}