/** * @param BaseApp $app */ public function register(BaseApp $app) { $app->set('errorLogger', function (BaseApp $app) { $logger = new \Monolog\Logger('errorLogger'); $handler = new \Monolog\Handler\ErrorLogHandler(); if (!$app->isCli()) { $handler->pushProcessor(new \Monolog\Processor\WebProcessor()); $format = '%level_name%: %message% %extra.server%%extra.url%'; } else { $format = '%level_name%: %message%'; } $handler->setFormatter(new \Monolog\Formatter\LineFormatter($format, null, true)); $logger->pushHandler($handler); return $logger; }); $app->set('whoopsDebugErrorPageHandler', function (BaseApp $app) { $prettyPageHandler = new \Whoops\Handler\PrettyPageHandler(); if ($app->getConfig()->has('editor')) { $prettyPageHandler->setEditor($app->getConfig()->get('editor')); } return $prettyPageHandler; }); $app->set('whoopsErrorHandler', function (BaseApp $app) { $plainTextHandler = new \Whoops\Handler\PlainTextHandler(); $plainTextHandler->setLogger($app->get('errorLogger')); if (!$app->isCli()) { $plainTextHandler->loggerOnly(true); } return $plainTextHandler; }); $app->set('whoops', function (BaseApp $app) { $whoops = new \Whoops\Run(); if (ini_get('display_errors')) { $whoops->pushHandler($app->get('whoopsDebugErrorPageHandler')); } // Handles cli output and logging $whoops->pushHandler($app->get('whoopsErrorHandler')); return $whoops; }); $app->get('whoops')->register(); }
public static function ini($root = "") { require $root . "../core/Associates/Whoops/vendor/autoload.php"; // if (Config::get('loggin.debug')) { $whoops = new \Whoops\Run(); $errorPage = new \Whoops\Handler\PrettyPageHandler(); // $errorPage->setPageTitle(Config::get('loggin.msg')); // Set the page's title $errorPage->setEditor("sublime"); // $whoops->pushHandler($errorPage); $whoops->register(); } else { $whoops = new \Whoops\Run(); $errorPage = new \Whoops\Handler\PlainTextHandler(); $errorPage->msg = Config::get('loggin.msg'); $errorPage->bg_color = Config::get('loggin.bg'); $errorPage->handle(); $whoops->pushHandler($errorPage); $whoops->register(); } }