From 0218a478722f08cd07e498d6c3569c00aad38e2a Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Sat, 2 May 2026 12:04:27 +0200 Subject: [PATCH 1/2] Ensure TraceLogger log level is maintained property --- .../DynamicProxy.Tests/LoggingTestCase.cs | 10 ++++++++++ src/Castle.Core/Core/Logging/TraceLogger.cs | 1 + 2 files changed, 11 insertions(+) diff --git a/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs b/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs index f195dd3818..29ad73a3ee 100644 --- a/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs +++ b/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs @@ -109,6 +109,16 @@ public void ExcludedNonVirtualMethods() "Castle.DynamicProxy.Tests.LoggingTestCase+NonVirtualMethodClass because it cannot be intercepted.")); } + [Test] + public void LogsWarningOnlyByDefault() + { + var generator = new ProxyGenerator(); + Assert.IsInstanceOf(generator.Logger); + + var logger = (TraceLogger)generator.Logger; + Assert.AreEqual(LoggerLevel.Warn, logger.Level); + } + #region Test Types public interface IEmptyInterface diff --git a/src/Castle.Core/Core/Logging/TraceLogger.cs b/src/Castle.Core/Core/Logging/TraceLogger.cs index 158457755f..8d1aca445e 100644 --- a/src/Castle.Core/Core/Logging/TraceLogger.cs +++ b/src/Castle.Core/Core/Logging/TraceLogger.cs @@ -134,6 +134,7 @@ private void Initialize() // reconfigure the created source to act like the found source traceSource.Switch = foundSource.Switch; + traceSource.Switch.Level = defaultLevel; traceSource.Listeners.Clear(); foreach (TraceListener listener in foundSource.Listeners) { From af3c27cf85c06e8a8de63d22edcf3e0e34744b67 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Sat, 2 May 2026 12:14:18 +0200 Subject: [PATCH 2/2] Ensure it's all preserved even --- src/Castle.Core/Core/Logging/TraceLogger.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Castle.Core/Core/Logging/TraceLogger.cs b/src/Castle.Core/Core/Logging/TraceLogger.cs index 8d1aca445e..9837fe1a7b 100644 --- a/src/Castle.Core/Core/Logging/TraceLogger.cs +++ b/src/Castle.Core/Core/Logging/TraceLogger.cs @@ -108,6 +108,7 @@ private void Initialize() var defaultLevel = MapSourceLevels(Level); traceSource = new TraceSource(Name, defaultLevel); + traceSource.Switch.Level = defaultLevel; // no further action necessary when the named source is configured if (IsSourceConfigured(traceSource))