For better performance and to minimize blocking on hot paths, logs are written with debounce and on batches:

  • 3 seconds after the last debounced log write
  • when the batch threshold is reached (currently 200)
  • right before app termination to attempt saving everything from the existing logs queue