private function logException(\Exception $originalException, \Exception $generatedException, $message = null)
    {
        if (!$message) {
            $message = sprintf('Exception thrown when handling an exception (%s: %s)', \get_class($generatedException), $generatedException->getMessage());
        }

        if (null !== $this->logger) {
            if (!$originalException instanceof HttpExceptionInterface || $originalException->getStatusCode() >= 500) {
                $this->logger->critical($message, ['exception' => $originalException]);
            } else {
                $this->logger->error($message, ['exception' => $originalException]);
            }
        } else {
            error_log($message);
        }
    }