From 18c71ca6d228d0f8dadfc1858f930aedcf3170ca Mon Sep 17 00:00:00 2001 From: Fabian Steeg Date: Fri, 2 Sep 2016 09:53:15 +0200 Subject: [PATCH] Improve logging for error analysis (#89) --- app/transformation/GeoLookupMap.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/transformation/GeoLookupMap.java b/app/transformation/GeoLookupMap.java index 9990362f..221d114b 100644 --- a/app/transformation/GeoLookupMap.java +++ b/app/transformation/GeoLookupMap.java @@ -72,6 +72,9 @@ public String get(Object key) { private String callApi(Object key, WSRequestHolder requestHolder) { Promise promise = requestHolder.get().map(response -> { + String details = String.format( + "no result returned for API call with URL=%s, params=%s", + requestHolder.getUrl(), requestHolder.getQueryParameters()); if (response.getStatus() == Status.OK) { JsonNode json = response.asJson(); JsonNode coordinates = json.findValue("coordinates"); @@ -83,11 +86,17 @@ private String callApi(Object key, WSRequestHolder requestHolder) { } // response OK, but no result, remember that to avoid redundant calls Cache.set(key.toString(), Json.newObject()); + details = String.format( + "best result with confidence=%s, " + + "street=%s, housenumber=%s, postalcode=%s, locality=%s, coordinates=%s", + confidence, json.findValue("street"), json.findValue("housenumber"), + json.findValue("postalcode"), json.findValue("locality"), + coordinates); } Logger.error( - "No geo coordinates found for: Key={}, Params={} Status: {} ({})", - key, requestHolder.getQueryParameters(), response.getStatus(), - response.getStatusText()); + "No geo coordinates found for query: {}, status: {} ({}), details: {}", + requestHolder.getQueryParameters().get("text"), response.getStatus(), + response.getStatusText(), details); return null; }); return promise.get(1, TimeUnit.MINUTES);