using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace hassio_onedrive_backup { public static class ConsoleLogger { private static LogLevel _logLevel; public static void LogError(string msg) { WriteLog(LogLevel.Error, msg); } public static void LogWarning(string msg) { WriteLog(LogLevel.Warning, msg); } public static void LogInfo(string msg) { WriteLog(LogLevel.Info, msg); } public static void LogVerbose(string msg) { WriteLog(LogLevel.Verbose, msg); } public static void SetLogLevel(LogLevel level) { _logLevel = level; } private static void WriteLog(LogLevel level, string msg) { if (level < _logLevel) { return; } var timestamp = DateTimeHelper.Instance?.Now; string logMsg = $"{timestamp} [{Thread.CurrentThread.ManagedThreadId}] {level}: {msg}"; if (level == LogLevel.Error) { Console.Error.WriteLine(logMsg); } else { Console.WriteLine(logMsg); } } public enum LogLevel { Verbose, Info, Warning, Error, } } }