Move query logging into its own method
This commit is contained in:
parent
1d5fe44ca4
commit
428a1014ca
|
@ -30,7 +30,11 @@ class Client extends BaseClient
|
||||||
private $stopwatch;
|
private $stopwatch;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* @param string $path
|
||||||
|
* @param string $method
|
||||||
|
* @param array $data
|
||||||
|
* @param array $query
|
||||||
|
* @return \Elastica\Response
|
||||||
*/
|
*/
|
||||||
public function request($path, $method = Request::GET, $data = array(), array $query = array())
|
public function request($path, $method = Request::GET, $data = array(), array $query = array())
|
||||||
{
|
{
|
||||||
|
@ -41,20 +45,7 @@ class Client extends BaseClient
|
||||||
$start = microtime(true);
|
$start = microtime(true);
|
||||||
$response = parent::request($path, $method, $data, $query);
|
$response = parent::request($path, $method, $data, $query);
|
||||||
|
|
||||||
if ($this->_logger and $this->_logger instanceof ElasticaLogger) {
|
$this->logQuery($path, $method, $data, $query, $start);
|
||||||
$time = microtime(true) - $start;
|
|
||||||
|
|
||||||
$connection = $this->getLastRequest()->getConnection();
|
|
||||||
|
|
||||||
$connection_array = array(
|
|
||||||
'host' => $connection->getHost(),
|
|
||||||
'port' => $connection->getPort(),
|
|
||||||
'transport' => $connection->getTransport(),
|
|
||||||
'headers' => $connection->hasConfig('headers') ? $connection->getConfig('headers') : array(),
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->_logger->logQuery($path, $method, $data, $time, $connection_array, $query);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->stopwatch) {
|
if ($this->stopwatch) {
|
||||||
$this->stopwatch->stop('es_request');
|
$this->stopwatch->stop('es_request');
|
||||||
|
@ -81,4 +72,32 @@ class Client extends BaseClient
|
||||||
{
|
{
|
||||||
$this->stopwatch = $stopwatch;
|
$this->stopwatch = $stopwatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the query if we have an instance of ElasticaLogger.
|
||||||
|
*
|
||||||
|
* @param string $path
|
||||||
|
* @param string $method
|
||||||
|
* @param array $data
|
||||||
|
* @param array $query
|
||||||
|
* @param int $start
|
||||||
|
*/
|
||||||
|
private function logQuery($path, $method, $data, array $query, $start)
|
||||||
|
{
|
||||||
|
if (!$this->_logger or !$this->_logger instanceof ElasticaLogger) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$time = microtime(true) - $start;
|
||||||
|
$connection = $this->getLastRequest()->getConnection();
|
||||||
|
|
||||||
|
$connection_array = array(
|
||||||
|
'host' => $connection->getHost(),
|
||||||
|
'port' => $connection->getPort(),
|
||||||
|
'transport' => $connection->getTransport(),
|
||||||
|
'headers' => $connection->hasConfig('headers') ? $connection->getConfig('headers') : array(),
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->_logger->logQuery($path, $method, $data, $time, $connection_array, $query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue