示例#1
0
 /**
  * Get formatted statistics message
  *
  * @param string $type Type of query
  * @param string $sql
  * @param array $bind
  * @param \Zend_Db_Statement_Pdo|null $result
  * @return string
  * @throws \Zend_Db_Statement_Exception
  */
 public function getStats($type, $sql, $bind = [], $result = null)
 {
     $message = '## ' . getmypid() . ' ## ';
     $nl = "\n";
     $time = sprintf('%.4f', microtime(true) - $this->timer);
     if (!$this->logAllQueries && $time < $this->logQueryTime) {
         return '';
     }
     switch ($type) {
         case self::TYPE_CONNECT:
             $message .= 'CONNECT' . $nl;
             break;
         case self::TYPE_TRANSACTION:
             $message .= 'TRANSACTION ' . $sql . $nl;
             break;
         case self::TYPE_QUERY:
             $message .= 'QUERY' . $nl;
             $message .= 'SQL: ' . $sql . $nl;
             if ($bind) {
                 $message .= 'BIND: ' . var_export($bind, true) . $nl;
             }
             if ($result instanceof \Zend_Db_Statement_Pdo) {
                 $message .= 'AFF: ' . $result->rowCount() . $nl;
             }
             break;
     }
     $message .= 'TIME: ' . $time . $nl;
     if ($this->logCallStack) {
         $message .= 'TRACE: ' . Debug::backtrace(true, false) . $nl;
     }
     $message .= $nl;
     return $message;
 }
示例#2
0
 /**
  * Logging debug information
  *
  * @param int $type
  * @param string $sql
  * @param array $bind
  * @param Zend_Db_Statement_Pdo $result
  * @return Varien_Db_Adapter_Pdo_Mysql
  */
 protected function _debugStat($type, $sql, $bind = array(), $result = null)
 {
     if (!$this->_debug) {
         return $this;
     }
     $code = '## ' . getmypid() . ' ## ';
     $nl = "\n";
     $time = sprintf('%.4f', microtime(true) - $this->_debugTimer);
     if (!$this->_logAllQueries && $time < $this->_logQueryTime) {
         return $this;
     }
     switch ($type) {
         case self::DEBUG_CONNECT:
             $code .= 'CONNECT' . $nl;
             break;
         case self::DEBUG_TRANSACTION:
             $code .= 'TRANSACTION ' . $sql . $nl;
             break;
         case self::DEBUG_QUERY:
             $code .= 'QUERY' . $nl;
             $code .= 'SQL: ' . $sql . $nl;
             if ($bind) {
                 $code .= 'BIND: ' . var_export($bind, true) . $nl;
             }
             if ($result instanceof Zend_Db_Statement_Pdo) {
                 $code .= 'AFF: ' . $result->rowCount() . $nl;
             }
             break;
     }
     $code .= 'TIME: ' . $time . $nl;
     if ($this->_logCallStack) {
         $code .= 'TRACE: ' . Varien_Debug::backtrace(true, false) . $nl;
     }
     $code .= $nl;
     $this->_debugWriteToFile($code);
     return $this;
 }