Skip to content

Commit

Permalink
Merge pull request #413 from DavidAllardyce/332-WebApplicationFactory…
Browse files Browse the repository at this point in the history
…-Default-Minimum-Configuration

Prefer "MinimumLevel:Default" value if "MinimumLevel" value returns empty string
  • Loading branch information
nblumhardt authored Oct 8, 2024
2 parents 53f5717 + 1d62cc4 commit 9d920b7
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -200,12 +200,12 @@ void ApplyMinimumLevelConfiguration(IConfigurationSection directive, Action<Logg
{
foreach (var provider in _configurationRoot.Providers.Reverse())
{
if (provider.TryGet(minimumLevelDirective.Path, out _))
if (provider.TryGet(minimumLevelDirective.Path, out var minValue) && !string.IsNullOrEmpty(minValue))
{
return _configurationRoot.GetSection(minimumLevelDirective.Path);
}

if (provider.TryGet(defaultLevelDirective.Path, out _))
if (provider.TryGet(defaultLevelDirective.Path, out var defaultValue) && !string.IsNullOrEmpty(defaultValue))
{
return _configurationRoot.GetSection(defaultLevelDirective.Path);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,23 @@ public void ReadFromConfigurationSectionDoesNotThrowWhenTryingToCallConfiguratio
.CreateLogger();

}

[Fact]
[Trait("BugFix", "https://github.com/serilog/serilog-settings-configuration/issues/332")]
public void ReadFromConfiguration_ShouldNot_Throw_When_MinimumLevel_Default_Set_But_MinimumLevel_Value_Is_Empty_String()
{
var configuration = new ConfigurationBuilder()
.AddInMemoryCollection(new Dictionary<string, string?>
{
["Serilog"] = "",
["Serilog:MinimumLevel"] = "",
["Serilog:MinimumLevel:Default"] = "Information",

})
.Build();

new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger();
}
}

0 comments on commit 9d920b7

Please sign in to comment.