using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using UnityInjector.ConsoleUtil; namespace Util { internal class LogLevel { public static LogLevel Info = new LogLevel(ConsoleColor.White, "INF"); public static LogLevel Debug = new LogLevel(ConsoleColor.Gray, "DBG"); public static LogLevel Warning = new LogLevel(ConsoleColor.Yellow, "WRN"); public static LogLevel Error = new LogLevel(ConsoleColor.Red, "ERR"); public ConsoleColor Color { get; } public string Tag { get; } private LogLevel(ConsoleColor color, string tag) { Color = color; Tag = tag; } } internal static class Logger { public const string PRE_TAG = "MultipleMaids"; public static void Log(LogLevel level, string msg) { SafeConsole.ForegroundColor = level.Color; Console.WriteLine($"[{PRE_TAG}][{level.Tag}] {msg}"); SafeConsole.ForegroundColor = ConsoleColor.White; } [Conditional("DEBUG")] public static void Debug(string msg) { Log(LogLevel.Debug, msg); } } }