log method

  1. @override
List<String> log(
  1. LogEvent event
)

PrettyPrinter assumes if event.stackTrace is provided, errorMethodCount lines are printed in log, incorrectly assuming that the event is from an error. So we make sure that if error exists, then we force PrettyPrinter to handle it as an error, printing errorMethodCount. If event.error is not null then we force PrettyPrinter to print methodCount lines.

Implementation

@override
List<String> log(LogEvent event) {
  var stackTrace = event.stackTrace ?? StackTrace.current;

  if (event.error != null) {
    return super.log(
      LogEvent(event.level, event.message, event.error, stackTrace),
    );
  }

  return handleAsRegularLog(event, stackTrace);
}