log static method

void log(
  1. String message, {
  2. LogLevel level = LogLevel.debug,
  3. String? tag,
})

Log a message.

message - The message to log. level - The log level (defaults to LogLevel.debug). tag - Optional tag for categorizing the log.

Implementation

static void log(
  String message, {
  LogLevel level = LogLevel.debug,
  String? tag,
}) {
  final entry = LogEntry(
    timestamp: DateTime.now(),
    message: message,
    level: level,
    tag: tag,
  );

  // Add to logs
  _logs.add(entry);

  // Remove oldest logs if we exceed max
  while (_logs.length > _maxLogs) {
    _logs.removeAt(0);
  }

  // Notify listeners
  for (final listener in _listeners) {
    listener(entry);
  }

  // Also print to console
  // ignore: avoid_print
  print(entry.toString());
}