using System.Globalization; namespace DigitalData.Modules.Logging; public class LogConfig { public bool Debug { get; set; } public Logger GetLogger() => new(); } public class Logger { ILogger 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 Warn(string message, params object?[] args) => Write("WARN", message, args); public void Warn(Exception exception, string message, params object?[] args) => Write("WARN", message + " " + exception.Message, args); public void Error(Exception exception) => Write("ERROR", exception.Message, Array.Empty()); 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}"); } }