createProcessor($name, $exporter, $meterProvider); } switch (count($processors)) { case 0: return NoopLogRecordProcessor::getInstance(); case 1: return $processors[0]; default: return new MultiLogRecordProcessor($processors); } } private function createProcessor(string $name, LogRecordExporterInterface $exporter, ?MeterProviderInterface $meterProvider = null): LogRecordProcessorInterface { switch ($name) { case KnownValues::VALUE_BATCH: return new BatchLogRecordProcessor( $exporter, ClockFactory::getDefault(), Configuration::getInt(Variables::OTEL_BLRP_MAX_QUEUE_SIZE), Configuration::getInt(Variables::OTEL_BLRP_SCHEDULE_DELAY), Configuration::getInt(Variables::OTEL_BLRP_EXPORT_TIMEOUT), Configuration::getInt(Variables::OTEL_BLRP_MAX_EXPORT_BATCH_SIZE), true, $meterProvider, ); case KnownValues::VALUE_SIMPLE: return new SimpleLogRecordProcessor($exporter); case Values::VALUE_NOOP: case Values::VALUE_NONE: return NoopLogRecordProcessor::getInstance(); default: throw new InvalidArgumentException('Unknown processor: ' . $name); } } }