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));
 }
Exemple #2
0
 /**
  * Reopen log appender stream, what have support
  * Usable in forks, SIGHUP handlers etc.
  */
 public static function reopen()
 {
     if (!self::$isConfigured) {
         static::configure();
     }
     self::$hierarchy->reopen();
 }