Skip to content
This repository was archived by the owner on May 17, 2019. It is now read-only.

Commit d3fb935

Browse files
author
Tim Hess
committed
Use a default trace filter for DynamicLogger instead of setting Minimum Level
1 parent 3417e19 commit d3fb935

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

src/Steeltoe.Extensions.Logging.DynamicLogger/DynamicLoggingBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public static ILoggingBuilder AddDynamicConsole(this ILoggingBuilder builder)
2929
throw new ArgumentNullException(nameof(builder));
3030
}
3131

32-
builder.SetMinimumLevel(LogLevel.Trace);
32+
builder.AddFilter<DynamicLoggerProvider>(null, LogLevel.Trace);
3333
builder.Services.AddSingleton<ILoggerProvider, DynamicLoggerProvider>();
3434
return builder;
3535
}
@@ -42,7 +42,7 @@ public static ILoggingBuilder AddDynamicConsole(this ILoggingBuilder builder, IC
4242
}
4343

4444
var settings = new ConsoleLoggerSettings().FromConfiguration(configuration);
45-
builder.SetMinimumLevel(LogLevel.Trace);
45+
builder.AddFilter<DynamicLoggerProvider>(null, LogLevel.Trace);
4646
builder.AddProvider(new DynamicLoggerProvider(settings));
4747
return builder;
4848
}

test/Steeltoe.Extensions.Logging.DynamicLogger.Test/DynamicLoggingBuilderTest.cs

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,61 @@ public void AddDynamicConsole_Works_WithAddConfiguration()
8989
Assert.True(logger.IsEnabled(LogLevel.Warning), "Warning level should be enabled");
9090
Assert.False(logger.IsEnabled(LogLevel.Debug), "Debug level should NOT be enabled");
9191
}
92+
93+
[Fact]
94+
public void DynamicLevelSetting_ParmLessAddDynamic_NotBrokenByAddConfiguration()
95+
{
96+
// arrange
97+
var configuration = new ConfigurationBuilder().AddInMemoryCollection(appsettings).Build();
98+
var services = new ServiceCollection()
99+
.AddLogging(builder =>
100+
{
101+
builder.AddConfiguration(configuration.GetSection("Logging"));
102+
builder.AddDynamicConsole();
103+
})
104+
.BuildServiceProvider();
105+
106+
// act
107+
var logger = services.GetService(typeof(ILogger<DynamicLoggingBuilderTest>)) as ILogger<DynamicLoggingBuilderTest>;
108+
109+
// assert
110+
Assert.NotNull(logger);
111+
Assert.True((logger).IsEnabled(LogLevel.Warning), "Warning level should be enabled");
112+
Assert.False((logger).IsEnabled(LogLevel.Debug), "Debug level should NOT be enabled");
113+
Assert.False((logger).IsEnabled(LogLevel.Trace), "Trace level should not be enabled yet");
114+
115+
// change the log level and confirm it worked
116+
var provider = services.GetRequiredService(typeof(ILoggerProvider)) as DynamicLoggerProvider;
117+
provider.SetLogLevel("Steeltoe.Extensions.Logging.Test", LogLevel.Trace);
118+
Assert.True((logger).IsEnabled(LogLevel.Trace), "Trace level should have been enabled");
119+
}
120+
121+
[Fact]
122+
public void DynamicLevelSetting_WithParmsAddDynamic_NotBrokenByAddConfiguration()
123+
{
124+
// arrange
125+
var configuration = new ConfigurationBuilder().AddInMemoryCollection(appsettings).Build();
126+
var services = new ServiceCollection()
127+
.AddLogging(builder =>
128+
{
129+
builder.AddConfiguration(configuration.GetSection("Logging"));
130+
builder.AddDynamicConsole(configuration);
131+
})
132+
.BuildServiceProvider();
133+
134+
// act
135+
var logger = services.GetService(typeof(ILogger<DynamicLoggingBuilderTest>)) as ILogger<DynamicLoggingBuilderTest>;
136+
137+
// assert
138+
Assert.NotNull(logger);
139+
Assert.True((logger).IsEnabled(LogLevel.Warning), "Warning level should be enabled");
140+
Assert.False((logger).IsEnabled(LogLevel.Debug), "Debug level should NOT be enabled");
141+
Assert.False((logger).IsEnabled(LogLevel.Trace), "Trace level should not be enabled yet");
142+
143+
// change the log level and confirm it worked
144+
var provider = services.GetRequiredService(typeof(ILoggerProvider)) as DynamicLoggerProvider;
145+
provider.SetLogLevel("Steeltoe.Extensions.Logging.Test", LogLevel.Trace);
146+
Assert.True((logger).IsEnabled(LogLevel.Trace), "Trace level should have been enabled");
147+
}
92148
}
93149
}

0 commit comments

Comments
 (0)