writeLogLine method

  1. @override
void writeLogLine(
  1. LogEntry entry
)
override

Write a single log entry to the terminal. Called after the spinner line has been cleared and before it is redrawn.

Implementation

@override
void writeLogLine(LogEntry entry) {
  final prefix = switch (entry.level) {
    LogLevel.debug => _gray('DEBUG: '),
    LogLevel.info => '',
    LogLevel.warning => _yellow('WARNING: '),
    LogLevel.error || LogLevel.fatal => _red('ERROR: '),
  };
  final output = '$prefix${entry.message}';
  if (entry.level.index >= LogLevel.error.index) {
    stderr.writeln(output);
    if (entry.error != null) stderr.writeln('${entry.error}');
    if (entry.stackTrace != null) stderr.writeln('${entry.stackTrace}');
  } else {
    stdout.writeln(output);
  }
}