From 0951050a1e9bc3a031c780e8e5a8c94bdeb9d9c4 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Fri, 20 Jun 2014 16:09:34 +0200 Subject: [PATCH] Check for json dependency, fixes #378 --- src/Monolog/Formatter/NormalizerFormatter.php | 3 +++ src/Monolog/Handler/ChromePHPHandler.php | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/Monolog/Formatter/NormalizerFormatter.php b/src/Monolog/Formatter/NormalizerFormatter.php index dfa3cb91..95b3de36 100644 --- a/src/Monolog/Formatter/NormalizerFormatter.php +++ b/src/Monolog/Formatter/NormalizerFormatter.php @@ -30,6 +30,9 @@ class NormalizerFormatter implements FormatterInterface public function __construct($dateFormat = null) { $this->dateFormat = $dateFormat ?: static::SIMPLE_DATE; + if (!function_exists('json_encode')) { + throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter'); + } } /** diff --git a/src/Monolog/Handler/ChromePHPHandler.php b/src/Monolog/Handler/ChromePHPHandler.php index ff7a7809..bc659349 100644 --- a/src/Monolog/Handler/ChromePHPHandler.php +++ b/src/Monolog/Handler/ChromePHPHandler.php @@ -50,6 +50,18 @@ class ChromePHPHandler extends AbstractProcessingHandler protected static $sendHeaders = true; + /** + * @param integer $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + if (!function_exists('json_encode')) { + throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s ChromePHPHandler'); + } + } + /** * {@inheritdoc} */