toMultiLineString method

List<String> toMultiLineString()

Implementation

List<String> toMultiLineString() {
  final list = <String>[];
  list.add(_string(message) ?? '');
  //
  if (stackTrace != null) {
    list.add('');
    list.add('When the exception was thrown, this was the stack:');
    Trace.from(stackTrace!).frames
        .skipWhile(
          (element) =>
              element.library.contains('package:tenon/logger') ||
              element.library.contains('package:stack_trace') ||
              element.library.contains('dart:async'),
        )
        .whereIndexed((index, element) => index <= 20)
        .mapIndexed((index, element) => '${'#$index'.padRight(8, ' ')}${element.member} (${element.location})')
        .forEach((e) => list.add(e));
  }
  return list;
}