Exemplo n.º 1
0
 /**
  * write (possible big) DOMDocument in smaller chunks to log file
  *
  * @param unknown	 $priority
  * @param DOMDocument $dom
  * @param string	  $method
  * @param int		 $line
  */
 protected function _logDomDocument($priority, DOMDocument $dom, $method, $line)
 {
     $loops = 0;
     $tempStream = fopen('php://temp/maxmemory:5242880', 'r+');
     $dom->formatOutput = true;
     fwrite($tempStream, $dom->saveXML());
     $dom->formatOutput = false;
     rewind($tempStream);
     // log data in 1MByte chunks
     while (!feof($tempStream)) {
         $this->_logger->write($priority, $method . '::' . $line . " xml response({$loops}):\n" . fread($tempStream, 1048576));
         $loops++;
     }
     fclose($tempStream);
 }