diff --git a/src/Monolog/Handler/MissingExtensionException.php b/src/Monolog/Handler/MissingExtensionException.php new file mode 100644 index 00000000..0cb21cd2 --- /dev/null +++ b/src/Monolog/Handler/MissingExtensionException.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Exception can be thrown if an extension for an handler is missing + * + * @author Christian Bergau + */ +class MissingExtensionException extends \Exception +{ + +} diff --git a/src/Monolog/Handler/ZendMonitorHandler.php b/src/Monolog/Handler/ZendMonitorHandler.php index 770cb13a..0a264231 100644 --- a/src/Monolog/Handler/ZendMonitorHandler.php +++ b/src/Monolog/Handler/ZendMonitorHandler.php @@ -36,22 +36,18 @@ class ZendMonitorHandler extends AbstractProcessingHandler Logger::EMERGENCY => 0, ); - /** - * Is application running on a zend server? - * - * @var bool - */ - protected $isZendServer = false; - /** * Construct * * @param int $level * @param bool $bubble + * @throws MissingExtensionException */ public function __construct($level = Logger::DEBUG, $bubble = true) { - $this->isZendServer = function_exists('zend_monitor_custom_event'); + if (!function_exists('zend_monitor_custom_event')) { + throw new MissingExtensionException('You must have Zend Server installed in order to use this handler'); + } parent::__construct($level, $bubble); } @@ -60,13 +56,11 @@ class ZendMonitorHandler extends AbstractProcessingHandler */ protected function write(array $record) { - if ($this->isZendServer()) { - $this->writeZendMonitorCustomEvent( - $this->levelMap[$record['level']], - $record['message'], - $record['formatted'] - ); - } + $this->writeZendMonitorCustomEvent( + $this->levelMap[$record['level']], + $record['message'], + $record['formatted'] + ); } /** @@ -98,14 +92,4 @@ class ZendMonitorHandler extends AbstractProcessingHandler { return $this->levelMap; } - - /** - * Is Zend Server? - * - * @return bool - */ - public function isZendServer() - { - return $this->isZendServer; - } } diff --git a/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/tests/Monolog/Handler/ZendMonitorHandlerTest.php index 6d441c6b..ea2d90ce 100644 --- a/tests/Monolog/Handler/ZendMonitorHandlerTest.php +++ b/tests/Monolog/Handler/ZendMonitorHandlerTest.php @@ -25,17 +25,7 @@ class ZendMonitorHandlerTest extends TestCase } /** - * @covers \Monolog\Handler\ZendMonitor::__construct - * @covers \Monolog\Handler\ZendMonitor::isZendServer - */ - public function testIsZendServerReturnsTrue() - { - $zendMonitor = new ZendMonitorHandler(); - $this->assertTrue($zendMonitor->isZendServer()); - } - - /** - * @covers \Monolog\Handler\ZendMonitor::write + * @covers Monolog\Handler\ZendMonitorHandler::write */ public function testWrite() { @@ -69,6 +59,9 @@ class ZendMonitorHandlerTest extends TestCase $zendMonitor->handle($record); } + /** + * @covers Monolog\Handler\ZendMonitorHandler::getDefaultFormatter + */ public function testGetDefaultFormatterReturnsNormalizerFormatter() { $zendMonitor = new ZendMonitorHandler();