/** * 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; }
/** * 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; }