Skip to content

Commit 9d920b7

Browse files
authored
Merge pull request #413 from DavidAllardyce/332-WebApplicationFactory-Default-Minimum-Configuration
Prefer "MinimumLevel:Default" value if "MinimumLevel" value returns empty string
2 parents 53f5717 + 1d62cc4 commit 9d920b7

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

Diff for: src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@ void ApplyMinimumLevelConfiguration(IConfigurationSection directive, Action<Logg
200200
{
201201
foreach (var provider in _configurationRoot.Providers.Reverse())
202202
{
203-
if (provider.TryGet(minimumLevelDirective.Path, out _))
203+
if (provider.TryGet(minimumLevelDirective.Path, out var minValue) && !string.IsNullOrEmpty(minValue))
204204
{
205205
return _configurationRoot.GetSection(minimumLevelDirective.Path);
206206
}
207207

208-
if (provider.TryGet(defaultLevelDirective.Path, out _))
208+
if (provider.TryGet(defaultLevelDirective.Path, out var defaultValue) && !string.IsNullOrEmpty(defaultValue))
209209
{
210210
return _configurationRoot.GetSection(defaultLevelDirective.Path);
211211
}

Diff for: test/Serilog.Settings.Configuration.Tests/LoggerConfigurationExtensionsTests.cs

+19
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,23 @@ public void ReadFromConfigurationSectionDoesNotThrowWhenTryingToCallConfiguratio
139139
.CreateLogger();
140140

141141
}
142+
143+
[Fact]
144+
[Trait("BugFix", "https://github.com/serilog/serilog-settings-configuration/issues/332")]
145+
public void ReadFromConfiguration_ShouldNot_Throw_When_MinimumLevel_Default_Set_But_MinimumLevel_Value_Is_Empty_String()
146+
{
147+
var configuration = new ConfigurationBuilder()
148+
.AddInMemoryCollection(new Dictionary<string, string?>
149+
{
150+
["Serilog"] = "",
151+
["Serilog:MinimumLevel"] = "",
152+
["Serilog:MinimumLevel:Default"] = "Information",
153+
154+
})
155+
.Build();
156+
157+
new LoggerConfiguration()
158+
.ReadFrom.Configuration(configuration)
159+
.CreateLogger();
160+
}
142161
}

0 commit comments

Comments
 (0)