BatchingLogProcessor implements LogProcessor
FinalYes
Batches log records for efficient export.
Collects log records in memory and exports them in batches when:
- The batch size limit is reached
- flush() is explicitly called
- the system is shutting down
Example usage:
$processor = new BatchingLogProcessor(
exporter: $logExporter,
batchSize: 100,
);
Interfaces
- LogProcessor
- Interface for processing log records.
Methods
- __construct() : mixed
- exporter() : LogExporter
- Get the exporter used by this processor.
- flush() : bool
- Export all pending log records.
- process() : void
- Process a log entry.
Methods
__construct()
public
__construct(LogExporter $exporter[, int $batchSize = 512 ]) : mixed
Parameters
- $exporter : LogExporter
- $batchSize : int = 512
exporter()
Get the exporter used by this processor.
public
exporter() : LogExporter
Return values
LogExporterflush()
Export all pending log records.
public
flush() : bool
Forces immediate export of any buffered log records.
Return values
bool —True if all records were successfully exported
process()
Process a log entry.
public
process(LogEntry $entry) : void
This is invoked synchronously when a log is emitted. The processor may buffer the entry, export it immediately, or discard it based on filtering rules.
Parameters
- $entry : LogEntry
-
The complete log entry to process