/** * {@inheritdoc} */ public function reverse($latitude, $longitude) { if (null === $this->logger) { return parent::reverse($latitude, $longitude); } $startTime = microtime(true); $results = parent::reverse($latitude, $longitude); $duration = (microtime(true) - $startTime) * 1000; $value = sprintf('[Reverse geocoding] latitude: %s, longitude: %s', $latitude, $longitude); $this->logger->logRequest($value, $duration, $this->getProviderClass(), $results); return $results; }
public function testLogRequestsWithoutLogger() { $geocoderLogger = new GeocoderLogger(); $geocoderLogger->logRequest('copenhagen', 0.123, 'FooProvider', $this->results); $this->assertTrue(is_array($requests = $geocoderLogger->getRequests())); $this->assertCount(1, $requests); $this->assertTrue(is_array($request = $requests[0])); $this->assertSame($request['value'], 'copenhagen'); $this->assertSame($request['duration'], 0.123); $this->assertSame($request['providerClass'], 'FooProvider'); $this->assertSame($request['result'], '[{"latitude":1,"longitude":2,"bounds":{"south":1,"west":2,"north":3,"east":4},"streetNumber":"10","streetName":"rue Gambetta","postalCode":"75020","locality":"Paris","subLocality":null,"adminLevels":[],"country":"France","countryCode":"FR","timezone":null},{"latitude":3,"longitude":4,"bounds":{"south":5,"west":6,"north":7,"east":8},"streetNumber":"3","streetName":"avenue Secr\\u00e9tan","postalCode":"75019","locality":"Paris","subLocality":null,"adminLevels":[],"country":"France","countryCode":"FR","timezone":null}]'); }
/** * {@inheritdoc} */ public function collect(Request $request, Response $response, \Exception $exception = null) { $this->data = array('requests' => null !== $this->logger ? $this->logger->getRequests() : array()); }
public function testLogRequestsWithoutLogger() { $geocoderLogger = new GeocoderLogger(); $geocoderLogger->logRequest('copenhagen', 0.123, 'FooProvider', $this->result); $this->assertTrue(is_array($requests = $geocoderLogger->getRequests())); $this->assertCount(1, $requests); $this->assertTrue(is_array($request = $requests[0])); $this->assertSame($request['value'], 'copenhagen'); $this->assertSame($request['duration'], 0.123); $this->assertSame($request['providerClass'], 'FooProvider'); $this->assertSame($request['result'], '{"latitude":1,"longitude":2,"bounds":null,"streetNumber":null,"streetName":null,"zipcode":null,"city":null,"cityDistrict":null,"county":null,"countyCode":null,"region":null,"regionCode":null,"country":null,"countryCode":null,"timezone":null}'); }