diff options
Diffstat (limited to 'index.php')
-rw-r--r-- | index.php | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -1,21 +1,27 @@ <?php -use Wcms\Logger; - session_start(); require('./vendor/autoload.php'); try { - Logger::init('w_error.log', 2); -} catch (Throwable $e) { + Wcms\Logger::init('w_error.log', 2); +} catch (RuntimeException $e) { die('Unable to init logs: ' . $e->getMessage()); } $app = new Wcms\Application(); $app->wakeup(); +if (class_exists('Whoops\Run') && !empty(Wcms\Config::debug())) { + $whoops = new \Whoops\Run(); + $handler = new \Whoops\Handler\PrettyPageHandler(); + $handler->setEditor(\Wcms\Config::debug()); + $whoops->pushHandler($handler); + $whoops->register(); +} + if (isreportingerrors()) { Sentry\init([ 'dsn' => Wcms\Config::sentrydsn(), @@ -33,11 +39,14 @@ if (isreportingerrors()) { try { $matchoper = new Wcms\Routes(); $matchoper->match(); -} catch (Exception $e) { +} catch (Throwable $e) { if (isreportingerrors()) { Sentry\captureException($e); } - Logger::errorex($e, true); + Wcms\Logger::errorex($e, true); http_response_code(500); - echo '<h1>⚠ Woops ! There is a little problem : </h1>', $e->getMessage(), "\n"; + if (isset($whoops)) { + $whoops->handleException($e); + } + echo '<h1>⚠ Whoops ! There is a little problem : </h1>', $e->getMessage(), "\n"; } |