public void automatic_configuration_of_monitors_just_uses_ActivityMonitor_AutoConfiguration_delegate() { StupidStringClient c = new StupidStringClient(); ActivityMonitor.AutoConfiguration = null; ActivityMonitor.AutoConfiguration += m => m.Output.RegisterClient( c ); int i = 0; ActivityMonitor.AutoConfiguration += m => m.Trace().Send( "This monitors has been created at {0:O}, n°{1}", DateTime.UtcNow, ++i ); ActivityMonitor monitor1 = new ActivityMonitor(); ActivityMonitor monitor2 = new ActivityMonitor(); Assert.That( c.ToString(), Does.Contain( "This monitors has been created at" ) ); Assert.That( c.ToString(), Does.Contain( "n°1" ) ); Assert.That( c.ToString(), Does.Contain( "n°2" ) ); ActivityMonitor.AutoConfiguration = null; }
public void DumpException() { IActivityMonitor l = new ActivityMonitor( applyAutoConfigurations: false ); var wLogLovely = new StringBuilder(); var rawLog = new StupidStringClient(); l.Output.RegisterClient( rawLog ); using( l.Output.CreateBridgeTo( TestHelper.ConsoleMonitor.Output.BridgeTarget ) ) { var logLovely = new ActivityMonitorTextWriterClient( ( s ) => wLogLovely.Append( s ) ); l.Output.RegisterClient( logLovely ); l.Error().Send( new Exception( "EXERROR-1" ) ); using( l.OpenFatal().Send( new Exception( "EXERROR-2" ), "EXERROR-TEXT2" ) ) { try { throw new Exception( "EXERROR-3" ); } catch( Exception ex ) { l.Trace().Send( ex, "EXERROR-TEXT3" ); } } } Assert.That( rawLog.ToString(), Does.Contain( "EXERROR-1" ) ); Assert.That( rawLog.ToString(), Does.Contain( "EXERROR-2" ).And.Contain( "EXERROR-TEXT2" ) ); Assert.That( rawLog.ToString(), Does.Contain( "EXERROR-3" ).And.Contain( "EXERROR-TEXT3" ) ); string text = wLogLovely.ToString(); Assert.That( text, Does.Contain( "EXERROR-1" ) ); Assert.That( text, Does.Contain( "EXERROR-2" ).And.Contain( "EXERROR-TEXT2" ) ); Assert.That( text, Does.Contain( "EXERROR-3" ).And.Contain( "EXERROR-TEXT3" ) ); Assert.That( text, Does.Contain( "Stack:" ) ); }