From d410d53c7f6c527381e2e7cbe47fbcbfde4cfada Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Thu, 29 Jun 2023 13:28:19 +0300 Subject: [PATCH] Case-insensitive enum parsing for level overrides --- .../Settings/Configuration/ConfigurationReader.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs b/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs index 2a6c317..34b476a 100644 --- a/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs +++ b/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs @@ -164,7 +164,7 @@ void ApplyMinimumLevel(LoggerConfiguration loggerConfiguration) { var overridePrefix = overrideDirective.Key; var overridenLevelOrSwitch = overrideDirective.Value; - if (Enum.TryParse(overridenLevelOrSwitch, out LogEventLevel _)) + if (Enum.TryParse(overridenLevelOrSwitch, ignoreCase: true, out LogEventLevel _)) { ApplyMinimumLevelConfiguration(overrideDirective, (configuration, levelSwitch) => { @@ -591,9 +591,7 @@ internal static bool IsValidSwitchName(string input) } static LogEventLevel ParseLogEventLevel(string value) - { - if (!Enum.TryParse(value, ignoreCase: true, out LogEventLevel parsedLevel)) - throw new InvalidOperationException($"The value {value} is not a valid Serilog level."); - return parsedLevel; - } + => Enum.TryParse(value, ignoreCase: true, out LogEventLevel parsedLevel) + ? parsedLevel + : throw new InvalidOperationException($"The value {value} is not a valid Serilog level."); }