formatStackTrace method

String? formatStackTrace(
  1. StackTrace? stackTrace,
  2. int methodCount
)

Implementation

String? formatStackTrace(StackTrace? stackTrace, int methodCount) {
  var lines = stackTrace.toString().split('\n');
  var formatted = <String>[];
  var count = 0;

  ///
  /// fmt trace: 去掉第一行, 没意义
  ///
  for (var line in lines.sublist(1)) {
    if (_discardDeviceStacktraceLine(line) || _discardWebStacktraceLine(line) || _discardBrowserStacktraceLine(line)) {
      continue;
    }
    formatted.add('#$count   ${line.replaceFirst(RegExp(r'#\d+\s+'), '')}');
    if (++count == methodCount) {
      break;
    }
  }

  if (formatted.isEmpty) {
    return null;
  } else {
    return formatted.join('\n');
  }
}