addHandler() публичный Метод

Add a handler. A handler is responsible for taking a log message and writing it out to storage.
public addHandler ( Horde_Log_Handler_Base $handler )
$handler Horde_Log_Handler_Base Handler to add.
Пример #1
0
 /**
  * Constructor.
  *
  * @param Horde_Kolab_Storage_Data $data   The queriable data.
  * @param array                    $params Additional parameters.
  *   - factory:  (Horde_Kolab_Storage_Factory)  The factory object.
  *
  */
 public function __construct(Horde_Kolab_Storage_Data $data, $params)
 {
     $this->_data = $data;
     $this->_history = $params['factory']->createHistory($data->getAuth());
     $this->_logger = new Horde_Log_Logger();
     $this->_logger->addHandler(new Horde_Log_Handler_Mock());
     $this->_factory = $params['factory'];
 }
Пример #2
0
 public function testaddHandlerAddsMultipleHandlers()
 {
     $logger = new Horde_Log_Logger();
     // create handlers for two separate streams of temporary memory
     $log1 = fopen('php://memory', 'a');
     $handler1 = new Horde_Log_Handler_Stream($log1);
     $log2 = fopen('php://memory', 'a');
     $handler2 = new Horde_Log_Handler_Stream($log2);
     // add the handlers
     $logger->addHandler($handler1);
     $logger->addHandler($handler2);
     // log to both handlers
     $logger->log($message = 'message-sent-to-both-logs', Horde_Log::INFO);
     // verify both handlers were called by the logger
     rewind($log1);
     $this->assertContains($message, stream_get_contents($log1));
     rewind($log2);
     $this->assertContains($message, stream_get_contents($log2));
     // prove the two memory streams are different
     // and both handlers were indeed called
     fwrite($log1, 'foo');
     $this->assertNotEquals(ftell($log1), ftell($log2));
 }
Пример #3
0
 /**
  * Return the logger.
  *
  * @return Horde_Log_Logger The logger.
  */
 public function createLogger()
 {
     $logger = new Horde_Log_Logger();
     $configuration = $this->_injector->getInstance('Horde_Kolab_FreeBusy_Configuration');
     $logger_params = isset($configuration['logger']) ? $configuration['logger'] : array();
     if (empty($params)) {
         $handlers = array('Horde_Log_Handler_Null' => array());
     } else {
         $handlers = $logger_params['logger'];
     }
     foreach ($handlers as $name => $params) {
         if (!empty($params['params'])) {
             /**
              *  We need to pass parameters to the constructor so use
              *  reflection.
              */
             $reflectionObj = new ReflectionClass($name);
             $handler = $reflectionObj->newInstanceArgs($params['params']);
         } else {
             $handler = new $name();
         }
         if (!empty($params['options'])) {
             foreach ($params['options'] as $key => $value) {
                 $handler->setOption($key, $value);
             }
         }
         $logger->addHandler($handler);
     }
     return $logger;
 }
Пример #4
0
 /**
  * Prepare the log handler for the given environment.
  *
  * @param string $environment The name of the environment.
  *
  * @return NULL
  */
 public function prepareLogger($environment)
 {
     $logger = new Horde_Log_Logger();
     $handler = new Horde_Log_Handler_Mock();
     $logger->addHandler($handler);
     $this->world['injector'][$environment]->setInstance('Horde_Log_Logger', $logger);
 }