getLogEvent method

LogEvent getLogEvent({
  1. required String eventName,
  2. required String eventMessage,
  3. required DateTime timestamp,
  4. Map<String, Object>? context,
})

Gets a LogEvent from the pool or creates a new one

Implementation

LogEvent getLogEvent({
  required String eventName,
  required String eventMessage,
  required DateTime timestamp,
  Map<String, Object>? context,
}) {
  LogEvent event;

  if (_logEventPool.isNotEmpty) {
    event = _logEventPool.removeFirst();
    _logEventReuses++;

    // Reset the event
    event._reset(
      eventName: eventName,
      eventMessage: eventMessage,
      timestamp: timestamp,
      context: context,
    );
  } else {
    event = LogEvent._(
      eventName: eventName,
      eventMessage: eventMessage,
      timestamp: timestamp,
      context: context,
    );
    _logEventAllocations++;
  }

  return event;
}