コード例 #1
0
 public void ShouldShowReasonableTime()
 {
     using (var timer = new LoggingTimer("Test"))
     {
         Assert.That(timer.Elapsed, Is.GreaterThanOrEqualTo(TimeSpan.Zero));
         Assert.That(timer.Elapsed, Is.LessThan(TimeSpan.FromSeconds(5)));
     }
 }
コード例 #2
0
        public void BackgroundMultiLogWriterToText()
        {
            // Just to ensure that formats + writes occur on a background thread
            int testThreadId = Thread.CurrentThread.ManagedThreadId;

            // Log output written here on the background thread
            var stringWriter = new StringWriter();

            EntryFormatAction <LoggingTimer.StartRecord> formatStart = (startRecord, writer) =>
            {
                Assert.NotEqual(testThreadId, Thread.CurrentThread.ManagedThreadId);
                writer.BeginEntry();
                writer.WriteField((buffer) => buffer.AppendFormat(">{0}", startRecord.TimingId));
                writer.EndEntry();
            };
            EntryFormatAction <LoggingTimer.StopRecord> formatStop = (stopRecord, writer) =>
            {
                Assert.NotEqual(testThreadId, Thread.CurrentThread.ManagedThreadId);
                writer.BeginEntry();
                writer.WriteField((buffer) => buffer.AppendFormat("<{0}", stopRecord.TimingId));
                writer.WriteField(stopRecord.ElapsedTime.ToString());
                writer.EndEntry();
            };

            var logManagerConfig = new LogManagerConfig();

            logManagerConfig.UseTextWriter(stringWriter)
            .Format(formatStart)
            .Format(formatStop)
            .BackgroundLogging = true;
            using (var logManager = new LogManager(logManagerConfig))
            {
                // LoggingTimer test class logs starts and stops
                LoggingTimer.RestartTimingIds();
                var timer   = new LoggingTimer("test LoggingTimer", logManager);
                var timing1 = timer.Start();
                Thread.Sleep(15);
                timing1.Stop();
                var timing2 = timer.Start();
                Thread.Sleep(10);
                timing2.Stop();
            }

            string logOutput = stringWriter.ToString();

            _testOutputHelper.WriteLine(logOutput);

            Assert.Contains(">2\r\n<2  00:00:00.", logOutput);
            Assert.Contains(">3\r\n<3  00:00:00.", logOutput);
        }
コード例 #3
0
        public void Dispose()
        {
            JobQueueTimer.Stop();
            JobQueueTimer.Dispose();

            JobTimer.Stop();
            JobTimer.Dispose();

            JobDetailTimer.Stop();
            JobDetailTimer.Dispose();

            LoggingTimer.Stop();
            LoggingTimer.Dispose();

            WorkerNodeTimer.Stop();
            WorkerNodeTimer.Dispose();
        }
コード例 #4
0
        public void MultiLogWriterToText()
        {
            // Log output written here
            var stringWriter = new StringWriter();

            var setupTracerFactory = new SetupLog();
            EntryFormatAction <LoggingTimer.StartRecord> formatStart = (startRecord, writer) =>
            {
                writer.BeginEntry();
                writer.WriteField((buffer) => buffer.AppendFormat(">{0}", startRecord.TimingId));
                writer.EndEntry();
            };
            EntryFormatAction <LoggingTimer.StopRecord> formatStop = (stopRecord, writer) =>
            {
                writer.BeginEntry();
                writer.WriteField((buffer) => buffer.AppendFormat("<{0}", stopRecord.TimingId));
                writer.WriteField(stopRecord.ElapsedTime.ToString());
                writer.EndEntry();
            };
            var logWriter = new TextLogWriter(setupTracerFactory, new TextWriterFormatWriter(setupTracerFactory, stringWriter))
                            .AddFormat(formatStart)
                            .AddFormat(formatStop);

            using (var logManager = new LogManager(logWriter))
            {
                // LoggingTimer test class logs starts and stops
                LoggingTimer.RestartTimingIds();
                var timer   = new LoggingTimer("test LoggingTimer", logManager);
                var timing1 = timer.Start();
                Thread.Sleep(15);
                timing1.Stop();
                var timing2 = timer.Start();
                Thread.Sleep(10);
                timing2.Stop();
            }

            string logOutput = stringWriter.ToString();

            _testOutputHelper.WriteLine(logOutput);

            Assert.Contains(">2\r\n<2  00:00:00.", logOutput);
            Assert.Contains(">3\r\n<3  00:00:00.", logOutput);
        }