using System; namespace KattekerCreator.Helper { public static class Log { private const string Info = "INFO"; private const string Error = "ERROR"; public static void WriteInfoLine(string text) { using (new ConsoleWithOtherColor()) { ConsoleWithOtherColor.WriteLine($"{Info} [{DateTime.Now:G}] {text}"); } } public static void WriteErrorLine(string text) { using (new ConsoleWithOtherColor(ConsoleColor.DarkRed)) { ConsoleWithOtherColor.WriteLine($"{Error} [{DateTime.Now:G}] {text}"); } } } public class ConsoleWithOtherColor : IDisposable { public ConsoleWithOtherColor() { } private readonly ConsoleColor? _defaultColor; public ConsoleWithOtherColor(ConsoleColor color) { _defaultColor = Console.ForegroundColor; Console.ForegroundColor = color; } public static void WriteLine(string text) { Console.WriteLine(text); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool disposing) { if (!disposing) return; if (_defaultColor != null) Console.ForegroundColor = _defaultColor.Value; } } }