コード例 #1
0
 public function setUp()
 {
     $logger = new Logger();
     $writers = $logger->getWriters();
     $this->writer = new LogWriter();
     $writers->insert($this->writer, 1);
     $this->listener = new ErrorListener($logger);
 }
コード例 #2
0
 /**
  * {@inheritDoc}
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     // create new logger
     $logger = new Logger();
     // get application config as array
     $config = $serviceLocator->get('config');
     $config = $config['dherrorlogging'];
     // get priority
     $priority = Logger::WARN;
     if (isset($config['priority']) && is_int($config['priority'])) {
         $priority = $config['priority'];
     }
     $priorityFilter = new Filter\Priority($priority);
     // get writers from config
     if (!empty($config['log_writers']) && is_array($config['log_writers'])) {
         $logWriterManager = $serviceLocator->get('LogWriterManager');
         foreach ($config['log_writers'] as $writerSpecs) {
             // skip if no name
             if (empty($writerSpecs['name']) || !is_string($writerSpecs['name'])) {
                 continue;
             }
             // get options
             $options = array();
             if (!empty($writerSpecs['options']) && is_array($writerSpecs['options'])) {
                 $options = $writerSpecs['options'];
             }
             // check if it is one of the known writers that can be created via config or retrieved from service manager
             if ($logWriterManager->has($writerSpecs['name'])) {
                 $writer = $logWriterManager->get($writerSpecs['name'], $options);
                 // add priority filter
                 $writer->addFilter($priorityFilter);
                 // add writer to logger
                 $logger->addWriter($writer);
             }
         }
     }
     // add processors which will add some extra helpful info (IP, URI, trace,..) to the final log.
     $processor = $serviceLocator->get('LogProcessorManager')->get('DhErrorLogging\\LoggerProcessor');
     $logger->addProcessor($processor);
     // Logger needs at least one writer. Check if there are any, else add empty one.
     if ($logger->getWriters()->count() == 0) {
         // Support for PHP7 / Zend >= 2.4
         if (class_exists('\\Zend\\Log\\Writer\\Noop')) {
             $logger->addWriter(new Writer\Noop());
         } else {
             $logger->addWriter(new Writer\Null());
         }
     }
     return $logger;
 }
コード例 #3
0
ファイル: LoggerTest.php プロジェクト: rajanlamic/IntTest
 public function testOptionsWithWriterOptions()
 {
     $options = array('writers' => array(array('name' => 'stream', 'options' => array('stream' => 'php://output', 'log_separator' => 'foo'))));
     $logger = new Logger($options);
     $writers = $logger->getWriters()->toArray();
     $this->assertCount(1, $writers);
     $this->assertInstanceOf('Zend\\Log\\Writer\\Stream', $writers[0]);
     $this->assertEquals('foo', $writers[0]->getLogSeparator());
 }