/**
  * Close the writer
  *
  * @return void
  */
 public function shutdown()
 {
     while (!$this->buffer->isEmpty()) {
         $this->buffer->dequeue();
     }
     $this->writer->shutdown();
 }
示例#2
0
 /**
  * Log a message to this writer.
  *
  * @param  array $event  log data event
  * @return void
  */
 public function write($event)
 {
     if (!$this->isEnabled()) {
         return;
     }
     parent::write($event);
 }
示例#3
0
 /** Log a message to writer.
  *
  * @param object $objSource obiekt który wygenerował zdarzenie
  * @param Logger_Event $eventObject obiekt zdarzenia
  * @param array $event dane do zalogowania
  * @return void
  */
 public function write($objSource, Logger_Event $eventObject, $event)
 {
     // jeżeli podano funkcję anonimową która zwraca false przerwij obsługę zdarzenia
     $closure = $this->closure;
     if ($closure instanceof Closure && $closure($objSource, $eventObject) !== true) {
         return;
     }
     // jeżeli tablica kodów zdarzeń nie jest pusta i nie zawiera bieżącego zdarzenia przerwij obsługę zdarzenia
     if (is_array($this->eventCodes) && !in_array($eventObject->getEventCode(), $this->eventCodes)) {
         return;
     }
     // zapisz logi
     if (is_array($event) && count($event) > 0) {
         $this->writer->write($event);
     }
 }
示例#4
0
 /**
  * @param Zend_Log_Writer_Abstract $writer
  * @param null $configPath
  */
 public function addPriorityFilter(Zend_Log_Writer_Abstract $writer, $configPath = NULL)
 {
     $priority = NULL;
     if ($configPath) {
         $priority = $this->getLoggerConfig($configPath);
         if ($priority == 'default') {
             $priority = NULL;
         }
     }
     if (!$configPath || !strlen($priority)) {
         $priority = $this->getLoggerConfig(self::XML_PATH_PRIORITY);
     }
     if ($priority !== NULL && $priority != Zend_Log::WARN) {
         $writer->addFilter(new Zend_Log_Filter_Priority((int) $priority));
     }
 }
 /**
  * @group ZF-8953
  */
 public function testFluentInterface()
 {
     require_once 'Zend/Log/Formatter/Simple.php';
     $instance = $this->_writer->addFilter(1)->setFormatter(new Zend_Log_Formatter_Simple());
     $this->assertTrue($instance instanceof Zend_Log_Writer_AbstractTest_Concrete);
 }
示例#6
0
 /**
  * If the log messages have been stored in the internal buffer, just send them
  * to table storage.
  */
 public function shutdown()
 {
     parent::shutdown();
     if ($this->_bufferMessages) {
         $this->_tableStorageConnection->startBatch();
         foreach ($this->_messageBuffer as $logEntity) {
             $this->_tableStorageConnection->insertEntity($this->_tableName, $logEntity);
         }
         $this->_tableStorageConnection->commit();
     }
 }
示例#7
0
 /**
  * Initialize logging.
  */
 private static function initLogging()
 {
     $log = self::$config->curry->log;
     switch ($log->method) {
         case 'firebug':
             self::$writer = new Zend_Log_Writer_Firebug();
             self::$writer->setPriorityStyle(self::LOG_TABLE, 'TABLE');
             $request = new Zend_Controller_Request_Http();
             $response = new Zend_Controller_Response_Http();
             $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
             $channel->setRequest($request);
             $channel->setResponse($response);
             ob_start();
             break;
         case 'file':
             self::$writer = new Zend_Log_Writer_Stream($log->file);
             break;
         case 'none':
         default:
             return;
     }
     self::$logger = new Zend_Log(self::$writer);
     self::$logger->addPriority('TABLE', self::LOG_TABLE);
     self::log("Logging initialized", Zend_Log::NOTICE);
 }
示例#8
0
 public static function factory($config)
 {
     parent::factory($config);
 }