formatStackTrace method
格式化方法执行堆栈
Implementation
String? formatStackTrace() {
if (methodCount == null || methodCount! <= 0) return null;
List<String> formatted = [];
List<String> lines = StackTrace.current
.toString()
.split('\n')
.where(
(line) =>
!_discardDeviceStacktraceLine(line) &&
!_discardWebStacktraceLine(line) &&
!_discardBrowserStacktraceLine(line) &&
line.isNotEmpty,
)
.toList();
int stackTraceLength = min(lines.length, methodCount!);
for (int count = 0; count < stackTraceLength; count++) {
var line = lines[count];
formatted.add('#$count ${line.replaceFirst(RegExp(r'#\d+\s+'), '')}');
}
if (formatted.isEmpty) {
return null;
} else {
return formatted.join('\n');
}
}