public function testReopen() { $firstLog = '/tmp/first_log'; $firstLogTmp = '/tmp/first_log_tmp'; $secondLog = '/tmp/second_log'; $secondLogTmp = '/tmp/second_log_tmp'; if (is_file($firstLog)) { unlink($firstLog); } if (is_file($firstLogTmp)) { unlink($firstLogTmp); } if (is_file($secondLog)) { unlink($secondLog); } if (is_file($secondLogTmp)) { unlink($secondLogTmp); } $hierarchy = new LoggerHierarchy(); $hierarchy->setAppender('first', $firstAppender = new AppenderStream($firstLog)); $hierarchy->setAppender('second', $secondAppender = new AppenderStream($secondLog)); $rootLogger = $hierarchy->getRootLogger(); $rootLogger->addAppender($firstAppender); $rootLogger->addAppender($secondAppender); rename($firstLog, $firstLogTmp); rename($secondLog, $secondLog); $hierarchy->reopen(); $rootLogger->info($expected = uniqid()); $this->assertSame($expected, file_get_contents($firstLog)); $this->assertSame($expected, file_get_contents($secondLog)); }
public function testGetAppenderExists() { $hierarchy = new LoggerHierarchy(); $appender = new AppenderStd(); $hierarchy->setAppender('appender', $appender); $this->assertSame($appender, $hierarchy->getAppender('appender')); $this->assertSame(['appender' => $appender], $hierarchy->getAppenderMap()); }
public function configure(LoggerHierarchy $hierarchy, array $config) { if (isset($config[static::LOGGER_POLICY]['ioError'])) { LoggerPolicy::setIoErrorPolicy($config[static::LOGGER_POLICY]['ioError']); } if (isset($config[static::LOGGER_POLICY]['configurationError'])) { LoggerPolicy::setConfigurationErrorPolicy($config[static::LOGGER_POLICY]['configurationError']); } if (isset($config[static::LOGGER_RENDERER])) { if (isset($config[static::LOGGER_RENDERER]['nullMessage'])) { LoggerRender::$nullMessage = (string) $config[static::LOGGER_RENDERER]['nullMessage']; } if (isset($config[static::LOGGER_RENDERER]['trueMessage'])) { LoggerRender::$trueMessage = (string) $config[static::LOGGER_RENDERER]['trueMessage']; } if (isset($config[static::LOGGER_RENDERER]['falseMessage'])) { LoggerRender::$falseMessage = (string) $config[static::LOGGER_RENDERER]['falseMessage']; } } if (isset($config[static::LOGGER_LAYOUTS])) { foreach ($config[static::LOGGER_LAYOUTS] as $layoutName => $layoutConfig) { $hierarchy->setLayout($layoutName, $this->createLayout($layoutConfig)); } } if (isset($config[static::LOGGER_APPENDERS])) { foreach ($config[static::LOGGER_APPENDERS] as $appenderName => $appenderConfig) { $hierarchy->setAppender($appenderName, $this->createAppender($hierarchy, $appenderConfig)); } } if (isset($config[static::LOGGER_LOGGERS])) { foreach ($config[static::LOGGER_LOGGERS] as $loggerName => $loggerConfig) { $logger = $hierarchy->getLogger($loggerName); $this->createLogger($logger, $hierarchy, $loggerConfig); } } if (isset($config[static::LOGGER_ROOT])) { $logger = $hierarchy->getRootLogger(); $this->createLogger($logger, $hierarchy, $config[static::LOGGER_ROOT]); } }