* @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:----Eu8bV74rmZmFmTPSEGLAcjyUg8GtLrFXfi37w1ILP8n2zuV5SjdCMa3zOLuyo3Mo0Meu2Vk23G3vq106Ip95NHUtH2zowY4NziUAjDdQvgY386cRZr+uBhh/tdfvRBc9zQw1IqfWLe507myF3RDV6op2sj9XJffmE/aleKSktcEyRtkCk4SpnWo4PYUHYG70tylSbM0tqtBNSt2SqJ8IXOd7e5jXsaIgzj6fyk3xjeB6mwJSLPrMRNW69+c4ZWqR7+kZK2SVgi9V8JIejXO33fKLFOkdZjptpXv6Ji8MKyagLekhLs/JmV7W3PGZW7W2d45G7snrpdS1dwP2dvc9i07RNG9pqu6Hm1fj/ypPAIC0oxTsgSo4GmwNZ3TAxmkAmmxdeB1pYBxLnGhZT6zuFH2OP3zOGy/lBIZlKz9wbjRKQK5QBW+HrXvVyMIHM2P31cH3cysfy6326XrqSPlN0SknBAxCamSrw46M5sRFpBzJO86aj2od//ZxGwvIT3QmXo11CCd/fVLnzdomFEr39lJdMc1mLYLzEzheQU60C8NGbBaDHyVQCbIKj3ZXTL1/OKBkyIHbEQp5YmKrbVhHAr1xpxp/DaqFiIusR9ro04TPczcrc5ueGrzYasHXy+EdMfcqtdBnjNOgsYD8a4TD3OcZCt4weZ43EguTodFu6so=----ATTACHMENT:----ODk1MjU3MjcwODc4OTkyIDQ4ODE1Njc2ODU3MzE1ODggMjEzNzIxNzMyMzAwODIwNA==