diff --git a/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs b/src/Castle.Core.Tests/DynamicProxy.Tests/LoggingTestCase.cs index f195dd381..29ad73a3e 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 158457755..9837fe1a7 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)) @@ -134,6 +135,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) {