diff --git a/SabreTools.Core/SabreTools.Core.csproj b/SabreTools.Core/SabreTools.Core.csproj index 421ce187..5c9e73a7 100644 --- a/SabreTools.Core/SabreTools.Core.csproj +++ b/SabreTools.Core/SabreTools.Core.csproj @@ -24,6 +24,10 @@ + + + + diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs index 957688d2..fb5949b3 100644 --- a/SabreTools.Core/Tools/Converters.cs +++ b/SabreTools.Core/Tools/Converters.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using SabreTools.Logging; namespace SabreTools.Core.Tools { @@ -8,6 +9,23 @@ namespace SabreTools.Core.Tools { #region String to Enum + /// + /// Get the LogLevel value for an input string, if possible + /// + /// String value to parse/param> + /// + public static LogLevel AsLogLevel(this string? value) + { + return value?.ToLowerInvariant() switch + { + "verbose" => LogLevel.VERBOSE, + "user" => LogLevel.USER, + "warning" => LogLevel.WARNING, + "error" => LogLevel.ERROR, + _ => LogLevel.VERBOSE, + }; + } + /// /// Get bool? value from input string /// diff --git a/SabreTools.Logging/Enums.cs b/SabreTools.Logging/Enums.cs index b605fbbb..cdc45f97 100644 --- a/SabreTools.Logging/Enums.cs +++ b/SabreTools.Logging/Enums.cs @@ -1,22 +1,13 @@ -using SabreTools.Core; - -namespace SabreTools.Logging +namespace SabreTools.Logging { /// /// Severity of the logging statement /// public enum LogLevel { - [Mapping("verbose")] VERBOSE = 0, - - [Mapping("user")] USER, - - [Mapping("warning")] WARNING, - - [Mapping("error")] ERROR, } } diff --git a/SabreTools.Logging/LogEventArgs.cs b/SabreTools.Logging/LogEventArgs.cs index 3200bb70..ce91d6e6 100644 --- a/SabreTools.Logging/LogEventArgs.cs +++ b/SabreTools.Logging/LogEventArgs.cs @@ -42,9 +42,9 @@ namespace SabreTools.Logging /// public LogEventArgs(LogLevel logLevel = LogLevel.VERBOSE, string? statement = null, Exception? exception = null) { - this.LogLevel = logLevel; - this.Statement = statement; - this.Exception = exception; + LogLevel = logLevel; + Statement = statement; + Exception = exception; } /// @@ -52,10 +52,10 @@ namespace SabreTools.Logging /// public LogEventArgs(long total, long current, LogLevel logLevel = LogLevel.VERBOSE, string? statement = null) { - this.LogLevel = logLevel; - this.Statement = statement; - this.TotalCount = total; - this.CurrentCount = current; + LogLevel = logLevel; + Statement = statement; + TotalCount = total; + CurrentCount = current; } } } diff --git a/SabreTools.Logging/Logger.cs b/SabreTools.Logging/Logger.cs index 8af8cf54..7ac3c694 100644 --- a/SabreTools.Logging/Logger.cs +++ b/SabreTools.Logging/Logger.cs @@ -11,14 +11,14 @@ namespace SabreTools.Logging /// Instance associated with this logger /// /// TODO: Derive class name for this object, if possible - private readonly object? instance; + private readonly object? _instance; /// /// Constructor /// public Logger(object? instance = null) { - this.instance = instance; + _instance = instance; } #region Log Event Triggers @@ -31,7 +31,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Verbose(Exception ex, string? output = null) { - LoggerImpl.Verbose(this.instance, ex, output); + LoggerImpl.Verbose(_instance, ex, output); } /// @@ -41,7 +41,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Verbose(string output) { - LoggerImpl.Verbose(this.instance, output); + LoggerImpl.Verbose(_instance, output); } /// @@ -52,7 +52,7 @@ namespace SabreTools.Logging /// String to be written log public void Verbose(long total, long current, string? output = null) { - LoggerImpl.Verbose(instance, total, current, output); + LoggerImpl.Verbose(_instance, total, current, output); } /// @@ -63,7 +63,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void User(Exception ex, string? output = null) { - LoggerImpl.User(this.instance, ex, output); + LoggerImpl.User(_instance, ex, output); } /// @@ -73,7 +73,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void User(string output) { - LoggerImpl.User(this.instance, output); + LoggerImpl.User(_instance, output); } /// @@ -84,7 +84,7 @@ namespace SabreTools.Logging /// String to be written log public void User(long total, long current, string? output = null) { - LoggerImpl.User(instance, total, current, output); + LoggerImpl.User(_instance, total, current, output); } /// @@ -95,7 +95,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Warning(Exception ex, string? output = null) { - LoggerImpl.Warning(this.instance, ex, output); + LoggerImpl.Warning(_instance, ex, output); } /// @@ -105,7 +105,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Warning(string output) { - LoggerImpl.Warning(this.instance, output); + LoggerImpl.Warning(_instance, output); } /// @@ -116,7 +116,7 @@ namespace SabreTools.Logging /// String to be written log public void Warning(long total, long current, string? output = null) { - LoggerImpl.Warning(instance, total, current, output); + LoggerImpl.Warning(_instance, total, current, output); } /// @@ -127,7 +127,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Error(Exception ex, string? output = null) { - LoggerImpl.Error(this.instance, ex, output); + LoggerImpl.Error(_instance, ex, output); } /// @@ -137,7 +137,7 @@ namespace SabreTools.Logging /// True if the output could be written, false otherwise public void Error(string output) { - LoggerImpl.Error(this.instance, output); + LoggerImpl.Error(_instance, output); } /// @@ -148,7 +148,7 @@ namespace SabreTools.Logging /// String to be written log public void Error(long total, long current, string? output = null) { - LoggerImpl.Error(instance, total, current, output); + LoggerImpl.Error(_instance, total, current, output); } #endregion diff --git a/SabreTools.Logging/SabreTools.Logging.csproj b/SabreTools.Logging/SabreTools.Logging.csproj index 1baa4231..fd3cb299 100644 --- a/SabreTools.Logging/SabreTools.Logging.csproj +++ b/SabreTools.Logging/SabreTools.Logging.csproj @@ -20,10 +20,6 @@ git - - - - diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs index aa7b0f51..176b38e0 100644 --- a/SabreTools/Features/BaseFeature.cs +++ b/SabreTools/Features/BaseFeature.cs @@ -1894,7 +1894,7 @@ Some special strings that can be used: Extras = GetExtras(features); FilterRunner = GetFilterRunner(features); Header = GetDatHeader(features); - LogLevel = GetString(features, LogLevelStringValue).AsEnumValue(); + LogLevel = GetString(features, LogLevelStringValue).AsLogLevel(); OutputDir = GetString(features, OutputDirStringValue)?.Trim('"'); Remover = GetRemover(features); ScriptMode = GetBoolean(features, ScriptValue);