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);