/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php |
@@ -0,0 +1,95 @@ |
<?php |
/* |
* This file is part of the Monolog package. |
* |
* (c) Jordi Boggiano <j.boggiano@seld.be> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Monolog\Handler; |
|
use Monolog\Formatter\NormalizerFormatter; |
use Monolog\Logger; |
|
/** |
* Handler sending logs to Zend Monitor |
* |
* @author Christian Bergau <cbergau86@gmail.com> |
*/ |
class ZendMonitorHandler extends AbstractProcessingHandler |
{ |
/** |
* Monolog level / ZendMonitor Custom Event priority map |
* |
* @var array |
*/ |
protected $levelMap = array( |
Logger::DEBUG => 1, |
Logger::INFO => 2, |
Logger::NOTICE => 3, |
Logger::WARNING => 4, |
Logger::ERROR => 5, |
Logger::CRITICAL => 6, |
Logger::ALERT => 7, |
Logger::EMERGENCY => 0, |
); |
|
/** |
* Construct |
* |
* @param int $level |
* @param bool $bubble |
* @throws MissingExtensionException |
*/ |
public function __construct($level = Logger::DEBUG, $bubble = true) |
{ |
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); |
} |
|
/** |
* {@inheritdoc} |
*/ |
protected function write(array $record) |
{ |
$this->writeZendMonitorCustomEvent( |
$this->levelMap[$record['level']], |
$record['message'], |
$record['formatted'] |
); |
} |
|
/** |
* Write a record to Zend Monitor |
* |
* @param int $level |
* @param string $message |
* @param array $formatted |
*/ |
protected function writeZendMonitorCustomEvent($level, $message, $formatted) |
{ |
zend_monitor_custom_event($level, $message, $formatted); |
} |
|
/** |
* {@inheritdoc} |
*/ |
public function getDefaultFormatter() |
{ |
return new NormalizerFormatter(); |
} |
|
/** |
* Get the level map |
* |
* @return array |
*/ |
public function getLevelMap() |
{ |
return $this->levelMap; |
} |
} |