You are here

public function ExceptionLoggingSubscriber::onException in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php \Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber::onException()

Log all exceptions.

Parameters

\Symfony\Component\HttpKernel\Event\ExceptionEvent $event: The event to process.

File

core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php, line 84

Class

ExceptionLoggingSubscriber
Log exceptions without further handling.

Namespace

Drupal\Core\EventSubscriber

Code

public function onException(ExceptionEvent $event) {
  $exception = $event
    ->getThrowable();
  $method = 'onError';

  // Treat any non-HTTP exception as if it were one, so we log it the same.
  if ($exception instanceof HttpExceptionInterface) {
    $possible_method = 'on' . $exception
      ->getStatusCode();
    if (method_exists($this, $possible_method)) {
      $method = $possible_method;
    }
  }
  $this
    ->{$method}($event);
}