/** * @param string $value value to geocode * @param float $duration geocoding duration * @param string $providerClass Geocoder provider class name * @param \SplObjectStorage|Geocoded $results */ public function logRequest($value, $duration, $providerClass, $results) { if (null !== $this->logger) { $this->logger->info(sprintf("%s %0.2f ms (%s)", $value, $duration, $providerClass)); } $data = array(); if ($results instanceof \SplObjectStorage) { $data = array(); foreach ($results as $result) { $data[] = $result->toArray(); } } else { $data = $results->toArray(); } $this->requests[] = array('value' => $value, 'duration' => $duration, 'providerClass' => $providerClass, 'result' => json_encode($data)); }