diff --git a/src/changelog/3.2.1/268-shorten-test-output.xml b/src/changelog/3.2.1/268-shorten-test-output.xml
new file mode 100644
index 00000000..4a0ea400
--- /dev/null
+++ b/src/changelog/3.2.1/268-shorten-test-output.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ shorten console output for unit tests (by @FreeAndNil in https://github.com/apache/logging-log4net/pull/268[#268])
+
+
\ No newline at end of file
diff --git a/src/log4net.Tests/Util/LogLogTest.cs b/src/log4net.Tests/Util/LogLogTest.cs
index 3cde0e3b..94acb385 100644
--- a/src/log4net.Tests/Util/LogLogTest.cs
+++ b/src/log4net.Tests/Util/LogLogTest.cs
@@ -32,6 +32,9 @@ namespace log4net.Tests.Util;
[TestFixture]
public class LogLogTest
{
+ ///
+ /// Tests the functionality
+ ///
[Test]
public void TraceListenerCounterTest()
{
@@ -46,6 +49,9 @@ public void TraceListenerCounterTest()
Assert.That(listTraceListener.Count, Is.EqualTo(2));
}
+ ///
+ /// Tests the property
+ ///
[Test]
public void EmitInternalMessages()
{
@@ -71,6 +77,9 @@ public void EmitInternalMessages()
}
}
+ ///
+ /// Tests the class.
+ ///
[Test]
public void LogReceivedAdapter()
{
@@ -90,10 +99,13 @@ public void LogReceivedAdapter()
[Test]
public void LogReceivedAdapterThreading()
{
- for (int i = 0; i < 1000; i++)
+ LogLog.ExecuteWithoutEmittingInternalMessages(() =>
{
- LogReceivedAdapterThreadingCore(i);
- }
+ for (int i = 0; i < 1000; i++)
+ {
+ LogReceivedAdapterThreadingCore(i);
+ }
+ });
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Security", "CA5394:Do not use insecure randomness",
@@ -119,13 +131,20 @@ private void LogReceivedAdapterThreadingCore(int seed)
}
}
+///
+/// Mock for that counts the number of calls to
+///
internal sealed class TraceListenerCounter : TraceListener
{
+ ///
public override void Write(string? message) => Count++;
+ ///
public override void WriteLine(string? message) => Write(message);
+ ///
public void Reset() => Count = 0;
+ ///
public int Count { get; private set; }
-}
+}
\ No newline at end of file
diff --git a/src/log4net/Util/LogLog.cs b/src/log4net/Util/LogLog.cs
index f5f3c607..121bb4b3 100644
--- a/src/log4net/Util/LogLog.cs
+++ b/src/log4net/Util/LogLog.cs
@@ -223,10 +223,29 @@ static LogLog()
public static bool QuietMode { get; set; }
///
- ///
+ /// Configures whether internal messages are emitted to Console.Out and Console.Error.
///
public static bool EmitInternalMessages { get; set; } = true;
+ ///
+ /// Execute the callback with internal messages suppressed
+ ///
+ /// Callback
+ public static void ExecuteWithoutEmittingInternalMessages(Action callback)
+ {
+ callback.EnsureNotNull();
+ bool oldEmitInternalMessages = EmitInternalMessages;
+ EmitInternalMessages = false;
+ try
+ {
+ callback();
+ }
+ finally
+ {
+ EmitInternalMessages = oldEmitInternalMessages;
+ }
+ }
+
///
/// Raises the LogReceived event when an internal messages is received.
///