/** * @param GetResponseForExceptionEvent|ConsoleExceptionEvent $event */ public function onKernelException($event) { $exception = $event->getException(); foreach ($this->ignoredExceptions as $ignoredException) { if ($exception instanceof $ignoredException) { return; } } $this->notifier->notify($exception); }
/** * Handles the PHP shutdown event. * * This event exists almost solely to provide a means to catch and log errors that might have been * otherwise lost when PHP decided to die unexpectedly. */ public function onShutdown() { // Get the last error if there was one, if not, let's get out of here. if (!($error = error_get_last())) { return; } if (!($error['type'] & (E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR))) { return; } $this->notifier->notify(new \ErrorException($error['message'], $error['type'], $error['type'], $error['file'], $error['line'])); }
/** * @param Exception $ex * @return array|null */ public function notify(Exception $ex) { if (!$this->isEnabled()) { return null; } $result = $this->client->notify($ex); if (!is_array($result)) { return null; } return $result; }