Files
EnvelopeGenerator/EnvelopeGenerator.ServiceHost/Jobs/Infrastructure/Logging.cs
TekH b8fd26611c Refactor Logger error handling and add extension method
Refactored Logger.Error(Exception) to use a new ILogger extension method, LogError, for improved error logging. Added an overloaded Error method to Logger for custom messages with exceptions. Introduced LoggerExtensions with a LogError extension for consistent exception logging.
2026-02-25 13:42:33 +01:00

41 lines
1.3 KiB
C#

using System.Globalization;
namespace DigitalData.Modules.Logging;
public class LogConfig
{
public bool Debug { get; set; }
public Logger GetLogger() => new();
}
public class Logger
{
ILogger<LogConfig> logger;
public void LogDebug(string message, params object?[] args) => Write("DEBUG", message, args);
public void LogInformation(string message, params object?[] args) => Write("INFO", message, args);
public void LogWarning(string message, params object?[] args) => Write("WARN", message, args);
public void LogWarning(Exception exception, string message, params object?[] args) => Write("WARN", message + " " + exception.Message, args);
public void Error(Exception exception) => logger.LogError(exception, exception.Message);
public void Error(Exception exception, string message, params object?[] args) => Write("ERROR", message + " " + exception.Message, args);
private static void Write(string level, string message, params object?[] args)
{
var formatted = args.Length > 0 ? string.Format(CultureInfo.InvariantCulture, message, args) : message;
Console.WriteLine($"[{level}] {formatted}");
}
}
public static class LoggerExtensions
{
public static void LogError(this ILogger logger, Exception exception)
{
logger.LogError(exception, "{message}", exception.Message);
}
}