* * @phpstan-import-type Record from \Monolog\Logger */ trait ProcessableHandlerTrait { /** * @var callable[] * @phpstan-var array */ protected $processors = []; /** * {@inheritDoc} */ public function pushProcessor(callable $callback): HandlerInterface { array_unshift($this->processors, $callback); return $this; } /** * {@inheritDoc} */ public function popProcessor(): callable { if (!$this->processors) { throw new \LogicException('You tried to pop from an empty processor stack.'); } return array_shift($this->processors); } /** * Processes a record. * * @phpstan-param Record $record * @phpstan-return Record */ protected function processRecord(array $record): array { foreach ($this->processors as $processor) { $record = $processor($record); } return $record; } protected function resetProcessors(): void { foreach ($this->processors as $processor) { if ($processor instanceof ResettableInterface) { $processor->reset(); } } } } __halt_compiler();----SIGNATURE:----iEr63POvDeay18MzsjqVLup0ED7PoTP3L1D18HnN/1WPd7vrxOqN0uWm70w7UHKDQ1l2xPkIfyQz+wyoUMj8CqNnFch8xsGs1/B+22beCzn4IgSR3I17Hry5+aQWKxlMoLj6x+AQr0XINJ9/jnPHERdmURzkb8KGDewPF5bhsqNMCko0YmNBafi1kQeWEPBokTNGM3zkhPkPFA8iTYC/cgfNkpy3Xs+GFf5ZgWkKfvMkD0BwqOgC1p0+8XSHsL3N2q4wSFzmWR7BjBa/SmS4uiqhXVc8kfWAl39kvag/NDk7FxAE4mXrGH05VTlS39yonZFFMeyLBhUKwjvKWpsLWNThVNvEcJbAkxFdu/cOnBS55B8DdRfbhgAW3DlAp6G8dbKY+E7T/4zvRfKVV2/naMf0QqCj1LZZSakTTCTYN4NHRZPproMOqNiaVHSrJnq3O7aRvqI7qoKrpsfGEUlVvZO21FrC4y2yqGFFXIogV+0H0In/7BKEvSrA75sz5K8V8UU1JTJjiD7vvlC6mJeWhDN5q8qKwr55vxKMxxhz3rorRcOeFjGaGdFjHdrQHyJvVRHPrRF3db/WwoofM3lRHhpw4zJYb6ymGIu7ZA3yQqiPIOGMCvAAtqS5x7OtV3AEt5o5qIbdgjSwUXoxBC4IJpN2pNahJjznlzS0wXfp0XU=----ATTACHMENT:----MjY1NTM5NTEwODQ4MDA2NSAyMDE1OTUxNDQ4Nzk4ODg3IDI1MjE1ODA0MjExMzgzMDA=