getLogEntry method

LogEntry getLogEntry({
  1. required LogLevel level,
  2. required String message,
  3. required DateTime timestamp,
  4. Map<String, Object>? context,
  5. LogEvent? event,
})

Gets a LogEntry from the pool or creates a new one

Implementation

LogEntry getLogEntry({
  required LogLevel level,
  required String message,
  required DateTime timestamp,
  Map<String, Object>? context,
  LogEvent? event,
}) {
  LogEntry entry;

  if (_logEntryPool.isNotEmpty) {
    entry = _logEntryPool.removeFirst();
    _logEntryReuses++;

    // Reset the entry
    entry._reset(
      level: level,
      message: message,
      timestamp: timestamp,
      context: context,
      event: event,
    );
  } else {
    entry = LogEntry._(
      level: level,
      message: message,
      timestamp: timestamp,
      context: context,
      event: event,
    );
    _logEntryAllocations++;
  }

  return entry;
}