ErrorHandlerInterface¶
Что делать с ошибкой слушателя: записать в лог, отправить в мониторинг и т. п.
Вызывается для каждого упавшего слушателя сразу после его вызова.
final class ErrorHandler implements ErrorHandlerInterface
{
public function handle(Throwable $error, EventInterface $event, string $listener): void
{
Logger::toFile('events/error', [
'event' => $event->getName(),
'listener' => $listener,
'message' => $error->getMessage(),
]);
}
}
$events->setErrorHandler(ErrorHandler::class);
- Full name:
\Selyusize\EventsRouter\Contract\Error\ErrorHandlerInterface
Methods¶
handle¶
Обработать ошибку слушателя.
public handle(\Throwable $error, \Selyusize\EventsRouter\Contract\Core\EventInterface $event, class-string<\Selyusize\EventsRouter\Contract\Core\ListenerInterface> $listener): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$error |
\Throwable | исключение из слушателя или его middleware |
$event |
\Selyusize\EventsRouter\Contract\Core\EventInterface | событие, которое получил слушатель, с параметрами маршрута в атрибутах |
$listener |
class-string<\Selyusize\EventsRouter\Contract\Core\ListenerInterface> | класс упавшего слушателя |