trace function

void trace(
  1. dynamic arg1, [
  2. dynamic arg2,
  3. dynamic arg3,
  4. dynamic arg4,
  5. dynamic arg5,
  6. dynamic arg6,
  7. dynamic arg7,
  8. dynamic arg8,
  9. dynamic arg9,
  10. dynamic arg10,
])

Global callback that replaces print in a similar way ActionScript trace() works.

It has up to 10 arguments slots so you can pass any type of object to be printed.

The way trace() shows output in the console can be defined with traceConfig.

Implementation

void trace(
  dynamic arg1, [
  dynamic arg2,
  dynamic arg3,
  dynamic arg4,
  dynamic arg5,
  dynamic arg6,
  dynamic arg7,
  dynamic arg8,
  dynamic arg9,
  dynamic arg10,
]) {
  ++_traceCount;
  final outputList = <String>[
    '$arg1',
    if (arg2 != null) '$arg2',
    if (arg3 != null) '$arg3',
    if (arg4 != null) '$arg4',
    if (arg5 != null) '$arg5',
    if (arg6 != null) '$arg6',
    if (arg7 != null) '$arg7',
    if (arg8 != null) '$arg8',
    if (arg9 != null) '$arg9',
    if (arg10 != null) '$arg10',
  ];
  // •·
  var msg = outputList.join(_separator);
  var name = _customTag;
  if (_useStack) {
    var stack = _getStack();
    if (_tagPaddingCount > 0) {
      stack = stack.padRight(_tagPaddingCount, _tagPaddingChar);
    }
    if (_showOutsideTag) {
      msg = '$stack◉ $msg';
    } else {
      name += ' $stack';
    }
  }
  dev.log(
    msg,
    name: name,
    time: DateTime.now(),
    sequenceNumber: _traceCount,
  );
}