Beispiel #1
0
 /**
  * Appends the processors to the given logger as configured.
  *
  * @param \TYPO3\CMS\Core\Log\Logger $logger Logger to configure
  * @return void
  * @throws \RangeException
  */
 protected function setProcessorsForLogger(\TYPO3\CMS\Core\Log\Logger $logger)
 {
     $configuration = $this->getConfigurationForLogger(self::CONFIGURATION_TYPE_PROCESSOR, $logger->getName());
     foreach ($configuration as $severityLevel => $processor) {
         foreach ($processor as $logProcessorClassName => $logProcessorOptions) {
             /** @var $logProcessor \TYPO3\CMS\Core\Log\Processor\ProcessorInterface */
             $logProcessor = NULL;
             try {
                 $logProcessor = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($logProcessorClassName, $logProcessorOptions);
                 $logger->addProcessor($severityLevel, $logProcessor);
             } catch (\RangeException $e) {
                 $logger->warning('Instantiation of LogProcessor "' . $logProcessorClassName . '" failed for logger ' . $logger->getName() . ' (' . $e->getMessage() . ')');
             }
         }
     }
 }
Beispiel #2
0
 /**
  * @test
  */
 public function loggerCallsProcessor()
 {
     $component = 'test.core.log';
     $level = LogLevel::DEBUG;
     $message = 'test';
     $logger = new Logger($component);
     /** @var $processor \TYPO3\CMS\Core\Log\Processor\ProcessorInterface|\PHPUnit_Framework_MockObject_MockObject */
     $processor = $this->getMock(NullProcessor::class, array('processLogRecord'));
     $processor->expects($this->once())->method('processLogRecord')->will($this->returnValue(new LogRecord($component, $level, $message)));
     $logger->addProcessor($level, $processor);
     // we need a writer, otherwise we will not process log records
     $logger->addWriter($level, new NullWriter());
     $logger->warning($message);
 }