* @author Christophe Coevoet * * @phpstan-import-type LevelName from \Monolog\Logger * @phpstan-import-type Level from \Monolog\Logger * @phpstan-import-type Record from \Monolog\Logger * @phpstan-type FormattedRecord array{message: string, context: mixed[], level: Level, level_name: LevelName, channel: string, datetime: \DateTimeImmutable, extra: mixed[], formatted: mixed} */ abstract class AbstractProcessingHandler extends AbstractHandler implements ProcessableHandlerInterface, FormattableHandlerInterface { use ProcessableHandlerTrait; use FormattableHandlerTrait; /** * {@inheritDoc} */ public function handle(array $record): bool { if (!$this->isHandling($record)) { return false; } if ($this->processors) { /** @var Record $record */ $record = $this->processRecord($record); } $record['formatted'] = $this->getFormatter()->format($record); $this->write($record); return false === $this->bubble; } /** * Writes the record down to the log of the implementing handler * * @phpstan-param FormattedRecord $record */ abstract protected function write(array $record): void; /** * @return void */ public function reset() { parent::reset(); $this->resetProcessors(); } } __halt_compiler();----SIGNATURE:----AJB8cwFOzJoA4/5kBEES0nGzjZ9A4ewUocWHHB/yse105g9xuIjOCYRdYjvDe88L5escWf22kkit71a3UK7nQJuEZ9YHug7NdfBn5o88B4w6DeD9hPCQzhc+9vUqcaQdie2YffkXVV+M1j+FLX+By3TCfugXVXNKR03csHRH7VKSexivcS9cjjfLUUKDRT+mV2RIz+1wLUVpEDlyHHtNjW5nJ6eOTiIxTVSMGBSclCoF07wtgV3bh5J8zMWtTkjeH7OLDkoLgT8R4XJPd50BX2dbYXbKzCYRlbCi9ErHohuEo0OYhkSees1kYVWvakOIJ2vtTyf+7SioEQCA6rjp8sn5fAQ06ZwJVUgn+BCy26YF+bmp4eTBf5XCwR50XSi2NGQ2h6Axo91cK4T/5tRdY0+wE+GaRKICipjC3cxIsqf2J1O2Jmnt77sCgEy7sa2LHnO3vUP399vP8GESSeA9kfBei1dIRulXznlHUsQ46udu9yNbTVewuAf3MfTHVjn4uieqjxTwVZcePTeHEQQtO7uDct4HNh1M2XCNNDcIQ7IM3l870g4uOzjwcxAMnMEvhdqZJ/C6JVzyPTX+f1kne2jVgHX3FDgknJHv2OVKfx4x/+SrH4pLz7W0lY5my6Dc84XI6F1GNnEN9HoUYYKJaa0AFYNIfjeOuRHHEN2QxNo=----ATTACHMENT:----MTk0MzcxMjQzNTYwODA1MCA1MTM0OTA4MzAwMzA4ODA0IDIxNzc3MzA5MDI3MTk4OA==