117 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?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\ResettableInterface;
 | |
| use Monolog\Formatter\FormatterInterface;
 | |
| 
 | |
| /**
 | |
|  * This simple wrapper class can be used to extend handlers functionality.
 | |
|  *
 | |
|  * Example: A custom filtering that can be applied to any handler.
 | |
|  *
 | |
|  * Inherit from this class and override handle() like this:
 | |
|  *
 | |
|  *   public function handle(array $record)
 | |
|  *   {
 | |
|  *        if ($record meets certain conditions) {
 | |
|  *            return false;
 | |
|  *        }
 | |
|  *        return $this->handler->handle($record);
 | |
|  *   }
 | |
|  *
 | |
|  * @author Alexey Karapetov <alexey@karapetov.com>
 | |
|  */
 | |
| class HandlerWrapper implements HandlerInterface, ResettableInterface
 | |
| {
 | |
|     /**
 | |
|      * @var HandlerInterface
 | |
|      */
 | |
|     protected $handler;
 | |
| 
 | |
|     /**
 | |
|      * HandlerWrapper constructor.
 | |
|      * @param HandlerInterface $handler
 | |
|      */
 | |
|     public function __construct(HandlerInterface $handler)
 | |
|     {
 | |
|         $this->handler = $handler;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function isHandling(array $record)
 | |
|     {
 | |
|         return $this->handler->isHandling($record);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function handle(array $record)
 | |
|     {
 | |
|         return $this->handler->handle($record);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function handleBatch(array $records)
 | |
|     {
 | |
|         return $this->handler->handleBatch($records);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function pushProcessor($callback)
 | |
|     {
 | |
|         $this->handler->pushProcessor($callback);
 | |
| 
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function popProcessor()
 | |
|     {
 | |
|         return $this->handler->popProcessor();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function setFormatter(FormatterInterface $formatter)
 | |
|     {
 | |
|         $this->handler->setFormatter($formatter);
 | |
| 
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function getFormatter()
 | |
|     {
 | |
|         return $this->handler->getFormatter();
 | |
|     }
 | |
| 
 | |
|     public function reset()
 | |
|     {
 | |
|         if ($this->handler instanceof ResettableInterface) {
 | |
|             return $this->handler->reset();
 | |
|         }
 | |
|     }
 | |
| }
 |