String formatLog()

in webdev/lib/src/logging.dart [56:86]


String formatLog(Level level, String message,
    {bool withColors, String error, String loggerName, String stackTrace}) {
  withColors ??= false;
  var buffer = StringBuffer(message);
  if (error != null) {
    buffer.writeln(error);
  }

  if (_verbose && stackTrace != null) {
    buffer.writeln(stackTrace);
  }

  var formattedLevel = '[$level]';
  if (withColors) {
    AnsiCode color;
    if (level < Level.WARNING) {
      color = cyan;
    } else if (level < Level.SEVERE) {
      color = yellow;
    } else {
      color = red;
    }
    formattedLevel = color.wrap(formattedLevel);
  }

  var loggerNameOutput =
      (loggerName != null && (_verbose || loggerName.contains(' ')))
          ? ' $loggerName:'
          : '';
  return '$formattedLevel$loggerNameOutput $buffer';
}