printStackTrace method

void printStackTrace({
  1. int beginCount = 25,
  2. int endCount = 25,
})

Implementation

void printStackTrace({ int beginCount = 25, int endCount = 25 }) {
  if (shouldLog && logStackTraces) {
    String stackTrace = StackTrace.current.toString();
    stackTrace = stackTrace.replaceAll('#', '#$nextIndent');
    final lines = stackTrace.split('\n');
    if (lines.last.isEmpty) lines.removeLast();
    _internalPrint(nextIndent + '************************************************');
    var i_ = 0;
    endCount = min(endCount, lines.length);
    for (; i_ < endCount; i_++)
      _internalPrint(nextIndent + dimTextEsc + lines[i_] + resetEsc);
    if (i_ < lines.length) {
      int _i = max(i_, lines.length - beginCount);
      if (_i > i_)
        _internalPrint(nextIndent + dimTextEsc + '...' + resetEsc);
      for (; _i < lines.length; _i++)
        _internalPrint(nextIndent + dimTextEsc + lines[_i] + resetEsc);
    }
    _internalPrint(nextIndent + '************************************************');
  }
}