protected override void LogInternal(LogLevel level, string message) { switch (level) { case LogLevel.Debug: case LogLevel.Informational: Console.WriteLine(message); break; case LogLevel.Success: ColoredConsole.WriteSuccess(message); break; case LogLevel.Warning: ColoredConsole.WriteWarning(message); break; case LogLevel.Error: ColoredConsole.WriteError(message); break; default: throw new ArgumentOutOfRangeException(nameof(level), level, null); } }