public void Exception(Exception ex, string?message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.Red);

            if (message is null)
            {
                Console.Error.WriteLine($"Exception: {ex.Message}{Environment.NewLine}{ex}");
            }
            else
            {
                Console.Error.WriteLine($"Exception: {message}{Environment.NewLine}{ex}");
            }
        }
        public void Warning(string message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.Yellow);

            Console.Out.WriteLine($"Warning: {message}");
        }
        public void Info(string message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.Green);

            Console.Out.WriteLine($"Info: {message}");
        }
        public void Error(string message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.Red);

            Console.Error.WriteLine($"Error: {message}");
        }
        public void Debug(string message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.Cyan);

            Console.Out.WriteLine($"Debug: {message}");
        }
        public void Critical(string message)
        {
            using var colorScope = new ConsoleColorScope(ConsoleColor.DarkRed);

            Console.Error.WriteLine($"Critical: {message}");
        }