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))); } }
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); }
public void Dispose() { JobQueueTimer.Stop(); JobQueueTimer.Dispose(); JobTimer.Stop(); JobTimer.Dispose(); JobDetailTimer.Stop(); JobDetailTimer.Dispose(); LoggingTimer.Stop(); LoggingTimer.Dispose(); WorkerNodeTimer.Stop(); WorkerNodeTimer.Dispose(); }
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); }