123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php namespace App\Infrastructure;
- use Exception;
- use Psr\Log\LoggerInterface;
- use Symfony\Component\Debug\ExceptionHandler as SymfonyDisplayer;
- use Illuminate\Contracts\Debug\ExceptionHandler as ExceptionHandlerContract;
- class ExceptionHandler implements ExceptionHandlerContract {
- /**
- * The log implementation.
- *
- * @var \Psr\Log\LoggerInterface
- */
- protected $log;
- /**
- * Create a new exception handler instance.
- *
- * @param \Psr\Log\LoggerInterface $log
- * @return void
- */
- public function __construct(LoggerInterface $log)
- {
- $this->log = $log;
- }
- /**
- * Report or log an exception.
- *
- * @param \Exception $e
- * @return void
- */
- public function report(Exception $e)
- {
- $this->log->error((string) $e);
- }
- /**
- * Render an exception into a response.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Exception $e
- * @return \Symfony\Component\HttpFoundation\Response
- */
- public function render($request, Exception $e)
- {
- return (new SymfonyDisplayer)->createResponse($e);
- }
- /**
- * Render an exception to the console.
- *
- * @param \Symfony\Component\Console\Output\OutputInterface $output
- * @param \Exception $e
- * @return void
- */
- public function renderForConsole($output, Exception $e)
- {
- $output->writeln((string) $e);
- }
- }
|