Registro de logs
S# ofrece varios componentes gráficos para mostrar logs: LogControl y Monitor.
Al usar los componentes visuales de logging, debe usar el logger GuiLogListener como "listener". Este logger proporciona sincronización en streaming con la GUI al registrar nuevos mensajes LogMessage.
Para implementar la posibilidad de logging en su propia clase, debe implementar la interfaz ILogReceiver. Una forma más sencilla es heredar de la clase BaseLogReceiver, como se muestra en el ejemplo Samples/08_Misc/01_Logging:
private class TestSource : BaseLogReceiver
{
}
private readonly LogManager _logManager = new LogManager();
private readonly TestSource _testSource = new TestSource();
public MainWindow()
{
InitializeComponent();
// vaciado inmediato
_logManager.FlushInterval = TimeSpan.FromMilliseconds(1);
// establecer origen de log de prueba
_logManager.Sources.Add(_testSource);
// establecer origen basado en el sistema .NET Trace
_logManager.Sources.Add(new Ecng.Logging.TraceSource());
// escribir logs en MainWindow
_logManager.Listeners.Add(new GuiLogListener(Monitor));
// y en el archivo logs.txt
_logManager.Listeners.Add(new FileLogListener
{
FileName = "logs",
});
}