void Create()
        {
            {
                var m = new ActivityMonitor();
            }
            {
                var m = new ActivityMonitor( applyAutoConfigurations: false );
            }
            {
                IActivityMonitor m = new ActivityMonitor();
                var counter = new ActivityMonitorErrorCounter();
                m.Output.RegisterClient( counter );

                m.Fatal().Send( "An horrible error occurred." );

                Assert.That( counter.Current.FatalCount == 1 );
                m.Output.UnregisterClient( counter );
            }
            {
                IActivityMonitor m = new ActivityMonitor();

                int errorCount = 0;
                using( m.OnError( () => ++errorCount ) )
                {
                    m.Fatal().Send( "An horrible error occurred." );
                }
                Assert.That( errorCount == 1 );
            }
            {
                IActivityMonitor m = new ActivityMonitor();
                m.MinimalFilter = LogFilter.Off;
                // ...
                m.MinimalFilter = LogFilter.Debug;
            }
            {
                IActivityMonitor m = new ActivityMonitor();
                m.MinimalFilter = LogFilter.Terse;
                using( m.SetMinimalFilter( LogFilter.Debug ) )
                {
                    Assert.That( m.ActualFilter == LogFilter.Debug );
                }
                Assert.That( m.ActualFilter == LogFilter.Terse, "Filter has been restored to previous value." );
            }
            {
                IActivityMonitor m = new ActivityMonitor();
                m.MinimalFilter = LogFilter.Off;
                // ...
                using( m.OpenWarn().Send( "Ouch..." ) )
                {
                    Assert.That( m.ActualFilter == LogFilter.Off );
                    m.MinimalFilter = LogFilter.Debug;
                    // ... in debug filter ...
                }
                Assert.That( m.ActualFilter == LogFilter.Off, "Back to Off." );

                var strange = new LogFilter( LogLevelFilter.Fatal, LogLevelFilter.Trace );
            }
        }
Ejemplo n.º 2
0
        public void CKMonWriterClientTest()
        {
            TestHelper.CleanupTestFolder();
            using( TextWriter w = new StringWriter() )
            {
                var m = new ActivityMonitor();
                m.Output.RegisterClient( new ActivityMonitorTextWriterClient( s => w.Write( s ) ) );
                m.Output.RegisterClient( new ActivityMonitorErrorCounter( true ) );

                using( m.OpenWarn().Send( "First" ) )
                {
                    m.Info().Send( "Inner first test" );
                }

                w.Flush();
                Assert.That( w.ToString(), Is.Not.Empty );
                Assert.That( w.ToString(), Is.StringContaining( "First" ) );
                Assert.That( w.ToString(), Is.StringContaining( "Inner first test" ) );
                Assert.That( w.ToString(), Is.Not.StringContaining( "Second" ) );
                Assert.That( w.ToString(), Is.Not.StringContaining( "Inner second test" ) );


                m.Output.RegisterClient( new CKMonWriterClient( Path.Combine( TestHelper.TestFolder, "CKMonWriterClientTest" ), 20000, LogFilter.Undefined ) );

                using( m.OpenWarn().Send( "Second" ) )
                {
                    m.Info().Send( "Inner second test" );
                }

                w.Flush();

                Assert.That( w.ToString(), Is.Not.Empty );
                Assert.That( w.ToString(), Is.StringContaining( "First" ) );
                Assert.That( w.ToString(), Is.StringContaining( "Inner first test" ) );
                Assert.That( w.ToString(), Is.StringContaining( "Second" ) );
                Assert.That( w.ToString(), Is.StringContaining( "Inner second test" ) );

            }
        }
Ejemplo n.º 3
0
 public void CompressedReadWriteTests()
 {
     TestHelper.CleanupTestFolder();
     string directoryPath = Path.Combine( TestHelper.TestFolder, "GzipCKMonWriterClientTest" );
     ActivityMonitor m = new ActivityMonitor();
     var client = new CKMonWriterClient( directoryPath, 20000, LogFilter.Undefined, true );
     m.Output.RegisterClient( client );
     using( m.OpenWarn().Send( "Group test" ) )
     {
         m.Info().Send( "Line test" );
     }
     // This closes the client: the file is then compressed asynchronously
     // on a thread from the ThreadPool.
     Assert.That( client.IsOpened );
     m.Output.UnregisterClient( client );
     string ckmonPath = TestHelper.WaitForCkmonFilesInDirectory( directoryPath, 1 )[0];
     LogReader r = LogReader.Open( ckmonPath );
     r.MoveNext();
     Assert.That( r.Current.LogType, Is.EqualTo( LogEntryType.OpenGroup ) );
     Assert.That( r.Current.Text, Is.EqualTo( "Group test" ) );
     r.MoveNext();
     Assert.That( r.Current.LogType, Is.EqualTo( LogEntryType.Line ) );
     Assert.That( r.Current.Text, Is.EqualTo( "Line test" ) );
     r.MoveNext();
     Assert.That( r.Current.LogType, Is.EqualTo( LogEntryType.CloseGroup ) );
     bool hasRemainingEntries = r.MoveNext();
     Assert.That( hasRemainingEntries, Is.False );
 }