logTimeEvent static method

Duration logTimeEvent(
  1. dynamic message, {
  2. String? key,
  3. bool printTime = false,
  4. Level level = Level.debug,
})

Records a time checkpoint and returns the elapsed duration.

Implementation

static Duration logTimeEvent(
  dynamic message, {
  String? key,
  bool printTime = false,
  Level level = Level.debug,
}) {
  final resolvedKey = (key == null || key.trim().isEmpty) ? _defaultKey : key;
  final currentTime = _nowProvider();
  final previousTime = _lastPrintTimes[resolvedKey];
  final interval = previousTime == null
      ? Duration.zero
      : currentTime.difference(previousTime);

  _lastPrintTimes[resolvedKey] = currentTime;

  log(
    level,
    '[$resolvedKey] $message (+${interval.inMilliseconds}ms)',
    time: printTime ? currentTime : null,
  );

  return interval;
}