import 'package:angel_http_exception/angel_http_exception.dart'; import 'package:logging/logging.dart'; import 'package:io/ansi.dart'; /// Prints the contents of a [LogRecord] with pretty colors. void prettyLog(LogRecord record) { var code = chooseLogColor(record.level); if (record.error == null) print(code.wrap(record.toString())); if (record.error != null) { var err = record.error; if (err is AngelHttpException && err.statusCode != 500) return; print(code.wrap(record.toString() + '\n')); print(code.wrap(err.toString())); if (record.stackTrace != null) { print(code.wrap(record.stackTrace.toString())); } } } /// Chooses a color based on the logger [level]. AnsiCode chooseLogColor(Level level) { if (level == Level.SHOUT) return backgroundRed; else if (level == Level.SEVERE) return red; else if (level == Level.WARNING) return yellow; else if (level == Level.INFO) return cyan; else if (level == Level.FINER || level == Level.FINEST) return lightGray; return resetAll; }