log method

void log({
  1. required String message,
  2. int? step,
  3. Map<String, dynamic> details = const {},
})

Implementation

void log({
  required String message,
  int? step,
  Map<String, dynamic> details = const {},
}) {
  final entry = SessionLogEntry(
    timestamp: DateTime.now(),
    message: message,
    step: step,
    details: details,
  );

  print(message);
  if (_logs.length >= maxLogSize) {
    _logs.removeAt(0);
  }
  _logs.add(entry);
  _hasNewLogs = true;

  if (_timer != null) {
    _logBuffer.add(entry);
  } else {
    onLog?.call(entry);
  }
}