namespace Nerfed.Runtime; public static class Log { public enum Type { Info, Warning, Error } public static void Info(object message) { LogInternal(Type.Info, message); } public static void Warning(object message) { LogInternal(Type.Warning, message); } public static void Error(object message) { LogInternal(Type.Error, message); } public static void Force(Type logType, object message) { LogInternal(logType, message); } private static void LogInternal(Type logType, object message) { TextWriter writer = logType <= Type.Warning ? Console.Out : Console.Error; switch (logType) { case Type.Info: writer.WriteLine(); break; case Type.Warning: writer.WriteLine("[Warning] "); break; case Type.Error: writer.WriteLine("[Error] "); break; default: throw new ArgumentOutOfRangeException(nameof(logType), logType, null); } writer.Write(message); writer.Flush(); } }