/** * @group unit */ public function testToString() { $path = 'test'; $method = Request::POST; $query = array('no' => 'params'); $data = array('key' => 'value'); $connection = new Connection(); $connection->setHost($this->_getHost()); $connection->setPort('9200'); $request = new Request($path, $method, $data, $query, $connection); $data = $request->toArray(); $this->assertInternalType('array', $data); $this->assertArrayHasKey('method', $data); $this->assertArrayHasKey('path', $data); $this->assertArrayHasKey('query', $data); $this->assertArrayHasKey('data', $data); $this->assertArrayHasKey('connection', $data); $this->assertEquals($request->getMethod(), $data['method']); $this->assertEquals($request->getPath(), $data['path']); $this->assertEquals($request->getQuery(), $data['query']); $this->assertEquals($request->getData(), $data['data']); $this->assertInternalType('array', $data['connection']); $this->assertArrayHasKey('host', $data['connection']); $this->assertArrayHasKey('port', $data['connection']); $this->assertEquals($request->getConnection()->getHost(), $data['connection']['host']); $this->assertEquals($request->getConnection()->getPort(), $data['connection']['port']); $string = $request->toString(); $this->assertInternalType('string', $string); $string = (string) $request; $this->assertInternalType('string', $string); }
/** * logging * * @throws Exception\RuntimeException * * @param string|\Elastica\Request $context */ protected function _log($context) { $log = $this->getConfig('log'); if ($log && !class_exists('Psr\\Log\\AbstractLogger')) { throw new RuntimeException('Class Psr\\Log\\AbstractLogger not found'); } elseif (!$this->_logger && $log) { $this->setLogger(new Log($this->getConfig('log'))); } if ($this->_logger) { if ($context instanceof Request) { $data = $context->toArray(); } else { $data = array('message' => $context); } $this->_logger->debug('logging Request', $data); } }
/** * Log requests to Elastic Search. * * @param Request|array $context The context of the request made. * @return void */ protected function _log($context) { if (!$this->logQueries) { return; } if (!isset($this->_logger)) { $this->_logger = Log::engine('elasticsearch') ?: new ElasticaLog(); } if ($context instanceof Request) { $data = $context->toArray(); } else { $data = ['message' => $context]; } $logData = ['method' => $data['method'], 'path' => $data['path'], 'data' => $data['data']]; $data = json_encode($logData, JSON_PRETTY_PRINT); $loggedQuery = new LoggedQuery(); $loggedQuery->query = $data; if ($this->_logger instanceof \Psr\Log\LoggerInterface) { $this->_logger->log('debug', $loggedQuery); } else { $this->_logger->log($loggedQuery); } }
/** * Log requests to Elastic Search. * * @param Request|array $context The context of the request made. * @return void */ protected function _log($context) { if (!$this->logQueries) { return; } if ($context instanceof Request) { $data = $context->toArray(); } else { $data = ['message' => $context]; } $logData = ['method' => $data['method'], 'path' => $data['path'], 'data' => $data['data']]; $data = json_encode($logData, JSON_PRETTY_PRINT); $loggedQuery = new LoggedQuery(); $loggedQuery->query = $data; $this->_logger->log($loggedQuery); }