From 458f6cb55dd4e4befe2a32febcc591dfa8b666cd Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Fri, 17 Oct 2014 23:16:24 -0700 Subject: [PATCH] Monolog added and logging exceptions --- composer.json | 1 + system/src/Grav/Common/Grav.php | 3 +++ .../Common/Service/ErrorServiceProvider.php | 6 ++++++ .../Common/Service/LoggerServiceProvider.php | 19 +++++++++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 system/src/Grav/Common/Service/LoggerServiceProvider.php diff --git a/composer.json b/composer.json index 91f24f6bf..6a7b66a7d 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,7 @@ "doctrine/cache": "~1.3", "maximebf/debugbar": ">=1.0.0", "filp/whoops": "1.2.*@dev", + "monolog/monolog": "~1.1", "gregwar/image": "~2.0", "ircmaxell/password-compat": "1.0.*", "mrclay/minify": "dev-master", diff --git a/system/src/Grav/Common/Grav.php b/system/src/Grav/Common/Grav.php index 99f9a0954..9d4298e1b 100644 --- a/system/src/Grav/Common/Grav.php +++ b/system/src/Grav/Common/Grav.php @@ -4,6 +4,7 @@ namespace Grav\Common; use Grav\Common\Page\Pages; use Grav\Common\Service\ConfigServiceProvider; use Grav\Common\Service\ErrorServiceProvider; +use Grav\Common\Service\LoggerServiceProvider; use Grav\Common\Service\StreamsServiceProvider; use RocketTheme\Toolbox\DI\Container; use RocketTheme\Toolbox\Event\Event; @@ -57,6 +58,8 @@ class Grav extends Container $container['debugger'] = new Debugger(); $container['debugger']->startTimer('_init', 'Initialize'); + $container->register(new LoggerServiceProvider); + $container->register(new ErrorServiceProvider); $container['uri'] = function ($c) { diff --git a/system/src/Grav/Common/Service/ErrorServiceProvider.php b/system/src/Grav/Common/Service/ErrorServiceProvider.php index 085fe6c0d..78afdf2c8 100644 --- a/system/src/Grav/Common/Service/ErrorServiceProvider.php +++ b/system/src/Grav/Common/Service/ErrorServiceProvider.php @@ -25,6 +25,12 @@ class ErrorServiceProvider implements ServiceProviderInterface $whoops->pushHandler($error_page); $whoops->pushHandler($json_page); + + $logger = $container['log']; + $whoops->pushHandler(function ($exception, $inspector, $run) use($logger) { + $logger->addCritical($exception->getMessage(). ' - Trace: '. $exception->getTraceAsString()); + }); + $whoops->register(); $container['whoops'] = $whoops; diff --git a/system/src/Grav/Common/Service/LoggerServiceProvider.php b/system/src/Grav/Common/Service/LoggerServiceProvider.php new file mode 100644 index 000000000..8f8ed9398 --- /dev/null +++ b/system/src/Grav/Common/Service/LoggerServiceProvider.php @@ -0,0 +1,19 @@ +pushHandler(new StreamHandler(LOG_DIR.'info.log', Logger::WARNING)); + + $container['log'] = $log; + } +}