original_string: public function getFile()
      {
          if ($this->fileDetected) {
              return $this->file;
          }
  
          $this->handle = null;
          $file = &$this->file;
  
          if (!is_dir($this->dir) && !@mkdir($this->dir, 0755, true)) {
              $message = sprintf('Fail to create directory "%s"', $this->dir);
              ($e = error_get_last()) && $message .= ': ' . $e['message'];
              throw new \RuntimeException($message);
          }
  
          $file = realpath($this->dir) . '/' . date($this->fileFormat);
  
          if ($this->fileSize) {
              $firstFile = $file;
  
              $files = glob($file . '*', GLOB_NOSORT);
  
              if (1 < count($files)) {
                  natsort($files);
                  $file = array_pop($files);
              }
  
              if (is_file($file) && $this->fileSize < filesize($file)) {
                  $ext = pathinfo($file, PATHINFO_EXTENSION);
                  if (is_numeric($ext)) {
                      $file = $firstFile . '.' . ($ext + 1);
                  } else {
                      $file = $firstFile . '.1';
                  }
              }
          }
  
          $this->fileDetected = true;
  
          return $file;
      }
code: public function getFile()
      {
          if ($this->fileDetected) {
              return $this->file;
          }
  
          $this->handle = null;
          $file = &$this->file;
  
          if (!is_dir($this->dir) && !@mkdir($this->dir, 0755, true)) {
              $message = sprintf('Fail to create directory "%s"', $this->dir);
              ($e = error_get_last()) && $message .= ': ' . $e['message'];
              throw new \RuntimeException($message);
          }
  
          $file = realpath($this->dir) . '/' . date($this->fileFormat);
  
          if ($this->fileSize) {
              $firstFile = $file;
  
              $files = glob($file . '*', GLOB_NOSORT);
  
              if (1 < count($files)) {
                  natsort($files);
                  $file = array_pop($files);
              }
  
              if (is_file($file) && $this->fileSize < filesize($file)) {
                  $ext = pathinfo($file, PATHINFO_EXTENSION);
                  if (is_numeric($ext)) {
                      $file = $firstFile . '.' . ($ext + 1);
                  } else {
                      $file = $firstFile . '.1';
                  }
              }
          }
  
          $this->fileDetected = true;
  
          return $file;
      }
code_tokens: public function getFile ( ) { if ( $ this -> fileDetected ) { return $ this -> file ; } $ this -> handle = null ; $ file = & $ this -> file ; if ( ! is_dir ( $ this -> dir ) && ! @ mkdir ( $ this -> dir , 0755 , true ) ) { $ message = sprintf ( 'Fail to create directory "%s"' , $ this -> dir ) ; ( $ e = error_get_last ( ) ) && $ message .= ': ' . $ e [ 'message' ] ; throw new \ RuntimeException ( $ message ) ; } $ file = realpath ( $ this -> dir ) . '/' . date ( $ this -> fileFormat ) ; if ( $ this -> fileSize ) { $ firstFile = $ file ; $ files = glob ( $ file . '*' , GLOB_NOSORT ) ; if ( 1 < count ( $ files ) ) { natsort ( $ files ) ; $ file = array_pop ( $ files ) ; } if ( is_file ( $ file ) && $ this -> fileSize < filesize ( $ file ) ) { $ ext = pathinfo ( $ file , PATHINFO_EXTENSION ) ; if ( is_numeric ( $ ext ) ) { $ file = $ firstFile . '.' . ( $ ext + 1 ) ; } else { $ file = $ firstFile . '.1' ; } } } $ this -> fileDetected = true ; return $ file ; }
docstring: Get log file
  
  @return string
  @throws \RuntimeException When unable to create logging directory
docstring_tokens: Get log file