Source of file ZendMonitor.php
Size: 2,699 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Log/Writer/ZendMonitor.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Log\Writer; class ZendMonitor extends AbstractWriter { /** * Is Zend Monitor enabled? * * @var bool */ protected $isEnabled = true; /** * Is this for a Zend Server instance? * * @var bool */ protected $isZendServer = false; /** * Constructor * * @param array|\Traversable|null $options * @return ZendMonitor */ public function __construct($options = null) { parent::__construct($options); if (!function_exists('monitor_custom_event')) { $this->isEnabled = false; } if (function_exists('zend_monitor_custom_event')) { $this->isZendServer = true; } } /** * Is logging to this writer enabled? * * If the Zend Monitor extension is not enabled, this log writer will * fail silently. You can query this method to determine if the log * writer is enabled. * * @return bool */ public function isEnabled() { return $this->isEnabled; } /** * Log a message to this writer. * * @param array $event log data event * @return void */ public function write(array $event) { if (!$this->isEnabled()) { return; } parent::write($event); } /** * Write a message to the log. * * @param array $event log data event * @return void */ protected function doWrite(array $event) { $priority = $event['priority']; $message = $event['message']; unset($event['priority'], $event['message']); if (!empty($event)) { if ($this->isZendServer) { // On Zend Server; third argument should be the event zend_monitor_custom_event($priority, $message, $event); } else { // On Zend Platform; third argument is severity -- either // 0 or 1 -- and fourth is optional (event) // Severity is either 0 (normal) or 1 (severe); classifying // notice, info, and debug as "normal", and all others as // "severe" monitor_custom_event($priority, $message, ($priority > 4) ? 0 : 1, $event); } } else { monitor_custom_event($priority, $message); } } } |