From d410d53c7f6c527381e2e7cbe47fbcbfde4cfada Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Thu, 29 Jun 2023 13:28:19 +0300 Subject: [PATCH 1/3] 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."); } From b66d9786fb00b18cc1d2b5c590ee8803a86680d0 Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Wed, 5 Jul 2023 08:37:02 +0300 Subject: [PATCH 2/3] SubscribeToLoggingLevelChanges --- .../Settings/Configuration/ConfigurationReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs b/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs index 34b476a..f994e25 100644 --- a/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs +++ b/src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs @@ -221,7 +221,7 @@ void SubscribeToLoggingLevelChanges(IConfigurationSection levelSection, LoggingL levelSection.GetReloadToken, () => { - if (Enum.TryParse(levelSection.Value, out LogEventLevel minimumLevel)) + if (Enum.TryParse(levelSection.Value, ignoreCase: true, out LogEventLevel minimumLevel)) levelSwitch.MinimumLevel = minimumLevel; else SelfLog.WriteLine($"The value {levelSection.Value} is not a valid Serilog level."); From ca957607742117769b2f2c236123c54cbcca3b06 Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Wed, 5 Jul 2023 08:43:41 +0300 Subject: [PATCH 3/3] trigger ci --- .../Settings/Configuration/StringArgumentValue.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Serilog.Settings.Configuration/Settings/Configuration/StringArgumentValue.cs b/src/Serilog.Settings.Configuration/Settings/Configuration/StringArgumentValue.cs index ebf3d2e..2ba8dcc 100644 --- a/src/Serilog.Settings.Configuration/Settings/Configuration/StringArgumentValue.cs +++ b/src/Serilog.Settings.Configuration/Settings/Configuration/StringArgumentValue.cs @@ -10,7 +10,7 @@ class StringArgumentValue : IConfigurationArgumentValue { readonly string _providedValue; - static readonly Regex StaticMemberAccessorRegex = new Regex("^(?[^:]+)::(?[A-Za-z][A-Za-z0-9]*)(?[^:]*)$"); + static readonly Regex StaticMemberAccessorRegex = new("^(?[^:]+)::(?[A-Za-z][A-Za-z0-9]*)(?[^:]*)$"); public StringArgumentValue(string providedValue) {