/** * @return LoggerInterface */ protected function createNullLogger() { $logger = new Logger(__CLASS__); $logger->addWriter(LogLevel::EMERGENCY, new NullWriter()); return $logger; }
/** * @test */ public function addWriterAddsWriterAlsoToHigherLevelsThanSpecified() { $logger = new Logger('test.core.log'); $writer = new Fixtures\WriterFixture(); $logger->addWriter(LogLevel::NOTICE, $writer); $writers = $logger->getWriters(); $this->assertContains($writer, $writers[LogLevel::EMERGENCY]); }
/** * Appends the writers to the given logger as configured. * * @param \TYPO3\CMS\Core\Log\Logger $logger Logger to configure * @return void * @throws \RangeException */ protected function setWritersForLogger(\TYPO3\CMS\Core\Log\Logger $logger) { $configuration = $this->getConfigurationForLogger(self::CONFIGURATION_TYPE_WRITER, $logger->getName()); foreach ($configuration as $severityLevel => $writer) { foreach ($writer as $logWriterClassName => $logWriterOptions) { /** @var $logWriter \TYPO3\CMS\Core\Log\Writer\WriterInterface */ $logWriter = NULL; try { $logWriter = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($logWriterClassName, $logWriterOptions); $logger->addWriter($severityLevel, $logWriter); } catch (\RangeException $e) { $logger->warning('Instantiation of LogWriter "' . $logWriterClassName . '" failed for logger ' . $logger->getName() . ' (' . $e->getMessage() . ')'); } } } }
/** * Creates a logger which outputs to the console * * @param int $minimumLevel Minimum log level that should trigger output * @param array $options Additional options for the console writer * @return LoggerInterface */ protected function createDefaultLogger($minimumLevel = LogLevel::DEBUG, $options = array()) { $options['output'] = new SymfonyConsoleOutput(); $logger = new Logger(get_class($this)); $logger->addWriter($minimumLevel, new ConsoleWriter($options)); return $logger; }