From 16530793e5d5a9d0ced60b1c2422b06e5c11b4b9 Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 17 Aug 2023 13:46:26 +0200 Subject: [PATCH 1/4] Refactor out base TextWriterLogger from StreamLogger --- src/BenchmarkDotNet/Loggers/StreamLogger.cs | 25 +++++-------------- .../Loggers/TextWriterLogger.cs | 24 ++++++++++++++++++ 2 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 src/BenchmarkDotNet/Loggers/TextWriterLogger.cs diff --git a/src/BenchmarkDotNet/Loggers/StreamLogger.cs b/src/BenchmarkDotNet/Loggers/StreamLogger.cs index d9c9bc2b10..93658b2524 100644 --- a/src/BenchmarkDotNet/Loggers/StreamLogger.cs +++ b/src/BenchmarkDotNet/Loggers/StreamLogger.cs @@ -1,28 +1,15 @@ -using System; -using System.IO; +using System.IO; using JetBrains.Annotations; namespace BenchmarkDotNet.Loggers { - public class StreamLogger : ILogger, IDisposable + public class StreamLogger : TextWriterLogger { - private readonly StreamWriter writer; - - public StreamLogger(StreamWriter writer) => this.writer = writer; - - public void Dispose() => writer.Dispose(); + public StreamLogger(StreamWriter writer) : base(writer) { } [PublicAPI] - public StreamLogger(string filePath, bool append = false) => writer = new StreamWriter(filePath, append); - - public string Id => nameof(StreamLogger); - public int Priority => 0; - public void Write(LogKind logKind, string text) => writer.Write(text); - - public void WriteLine() => writer.WriteLine(); - - public void WriteLine(LogKind logKind, string text) => writer.WriteLine(text); - - public void Flush() => writer.Flush(); + public StreamLogger(string filePath, bool append = false) + : this(new StreamWriter(filePath, append)) + { } } } diff --git a/src/BenchmarkDotNet/Loggers/TextWriterLogger.cs b/src/BenchmarkDotNet/Loggers/TextWriterLogger.cs new file mode 100644 index 0000000000..5fae0b4f4c --- /dev/null +++ b/src/BenchmarkDotNet/Loggers/TextWriterLogger.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; + +namespace BenchmarkDotNet.Loggers +{ + public class TextWriterLogger : ILogger, IDisposable + { + private readonly TextWriter writer; + + public TextWriterLogger(TextWriter writer) => this.writer = writer; + + public void Dispose() => writer.Dispose(); + + public string Id => nameof(TextWriterLogger); + public int Priority => 0; + public void Write(LogKind logKind, string text) => writer.Write(text); + + public void WriteLine() => writer.WriteLine(); + + public void WriteLine(LogKind logKind, string text) => writer.WriteLine(text); + + public void Flush() => writer.Flush(); + } +} From 8869a210b3c92434a2d0ea3f2fe05c6e5c8678fe Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 17 Aug 2023 13:48:31 +0200 Subject: [PATCH 2/4] rename to TextLogger --- src/BenchmarkDotNet/Loggers/StreamLogger.cs | 2 +- .../Loggers/{TextWriterLogger.cs => TextLogger.cs} | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) rename src/BenchmarkDotNet/Loggers/{TextWriterLogger.cs => TextLogger.cs} (72%) diff --git a/src/BenchmarkDotNet/Loggers/StreamLogger.cs b/src/BenchmarkDotNet/Loggers/StreamLogger.cs index 93658b2524..751d2d79b2 100644 --- a/src/BenchmarkDotNet/Loggers/StreamLogger.cs +++ b/src/BenchmarkDotNet/Loggers/StreamLogger.cs @@ -3,7 +3,7 @@ namespace BenchmarkDotNet.Loggers { - public class StreamLogger : TextWriterLogger + public class StreamLogger : TextLogger { public StreamLogger(StreamWriter writer) : base(writer) { } diff --git a/src/BenchmarkDotNet/Loggers/TextWriterLogger.cs b/src/BenchmarkDotNet/Loggers/TextLogger.cs similarity index 72% rename from src/BenchmarkDotNet/Loggers/TextWriterLogger.cs rename to src/BenchmarkDotNet/Loggers/TextLogger.cs index 5fae0b4f4c..5c54754fcb 100644 --- a/src/BenchmarkDotNet/Loggers/TextWriterLogger.cs +++ b/src/BenchmarkDotNet/Loggers/TextLogger.cs @@ -3,15 +3,15 @@ namespace BenchmarkDotNet.Loggers { - public class TextWriterLogger : ILogger, IDisposable + public class TextLogger : ILogger, IDisposable { private readonly TextWriter writer; - public TextWriterLogger(TextWriter writer) => this.writer = writer; + public TextLogger(TextWriter writer) => this.writer = writer; public void Dispose() => writer.Dispose(); - public string Id => nameof(TextWriterLogger); + public string Id => nameof(TextLogger); public int Priority => 0; public void Write(LogKind logKind, string text) => writer.Write(text); From e412712699b02f03ca952f081549024c87e72bdd Mon Sep 17 00:00:00 2001 From: ntr Date: Fri, 18 Aug 2023 09:41:55 +0200 Subject: [PATCH 3/4] fix Id --- src/BenchmarkDotNet/Loggers/StreamLogger.cs | 2 ++ src/BenchmarkDotNet/Loggers/TextLogger.cs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/BenchmarkDotNet/Loggers/StreamLogger.cs b/src/BenchmarkDotNet/Loggers/StreamLogger.cs index 751d2d79b2..7e7730de5f 100644 --- a/src/BenchmarkDotNet/Loggers/StreamLogger.cs +++ b/src/BenchmarkDotNet/Loggers/StreamLogger.cs @@ -11,5 +11,7 @@ public StreamLogger(StreamWriter writer) : base(writer) { } public StreamLogger(string filePath, bool append = false) : this(new StreamWriter(filePath, append)) { } + + public override string Id => nameof(StreamLogger); } } diff --git a/src/BenchmarkDotNet/Loggers/TextLogger.cs b/src/BenchmarkDotNet/Loggers/TextLogger.cs index 5c54754fcb..793e3a4d57 100644 --- a/src/BenchmarkDotNet/Loggers/TextLogger.cs +++ b/src/BenchmarkDotNet/Loggers/TextLogger.cs @@ -11,8 +11,9 @@ public class TextLogger : ILogger, IDisposable public void Dispose() => writer.Dispose(); - public string Id => nameof(TextLogger); + public virtual string Id => nameof(TextLogger); public int Priority => 0; + public void Write(LogKind logKind, string text) => writer.Write(text); public void WriteLine() => writer.WriteLine(); From 03f7d49bb765c5bfb77716f535ea51a5a1779790 Mon Sep 17 00:00:00 2001 From: ntr Date: Fri, 18 Aug 2023 09:42:46 +0200 Subject: [PATCH 4/4] rearrange --- src/BenchmarkDotNet/Loggers/TextLogger.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BenchmarkDotNet/Loggers/TextLogger.cs b/src/BenchmarkDotNet/Loggers/TextLogger.cs index 793e3a4d57..e261f07f26 100644 --- a/src/BenchmarkDotNet/Loggers/TextLogger.cs +++ b/src/BenchmarkDotNet/Loggers/TextLogger.cs @@ -9,8 +9,6 @@ public class TextLogger : ILogger, IDisposable public TextLogger(TextWriter writer) => this.writer = writer; - public void Dispose() => writer.Dispose(); - public virtual string Id => nameof(TextLogger); public int Priority => 0; @@ -21,5 +19,7 @@ public class TextLogger : ILogger, IDisposable public void WriteLine(LogKind logKind, string text) => writer.WriteLine(text); public void Flush() => writer.Flush(); + + public void Dispose() => writer.Dispose(); } }