diff options
author | gjoranv <gv@verizonmedia.com> | 2019-07-10 12:04:43 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-07-10 12:04:43 +0200 |
commit | 2d90ea135d3087bc5dafa11e3fc1a5ab6b3a366e (patch) | |
tree | 6cdb03926770e88585eb735d1bd319b5a6a363e3 /metrics-proxy | |
parent | c0cba948d458122e8d3af1c00e0eb5f6e923504a (diff) |
Fix PR comments regarding exception handling and logging.
Diffstat (limited to 'metrics-proxy')
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java | 4 | ||||
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java index 679bae84f8e..daa69191506 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java @@ -18,13 +18,15 @@ import static java.util.logging.Level.WARNING; class ErrorResponse extends JsonResponse { private static Logger log = Logger.getLogger(ErrorResponse.class.getName()); + private static ObjectMapper objectMapper = new ObjectMapper(); + ErrorResponse(int code, String message) { super(code, asErrorJson(message)); } static String asErrorJson(String message) { try { - return new ObjectMapper().writeValueAsString(Map.of("error", message)); + return objectMapper.writeValueAsString(Map.of("error", message)); } catch (JsonProcessingException e) { log.log(WARNING, "Could not encode error message to json:", e); return "Could not encode error message to json, check the log for details."; diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java index 1d7206f177d..8fcab6dfcab 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java @@ -19,12 +19,14 @@ import org.json.JSONObject; import java.net.URI; import java.util.concurrent.Executor; +import java.util.logging.Level; import static com.yahoo.jdisc.Response.Status.INTERNAL_SERVER_ERROR; import static com.yahoo.jdisc.Response.Status.METHOD_NOT_ALLOWED; import static com.yahoo.jdisc.Response.Status.NOT_FOUND; import static com.yahoo.jdisc.Response.Status.OK; import static com.yahoo.jdisc.http.HttpRequest.Method.GET; +import static java.util.logging.Level.WARNING; /** * Http handler for the metrics/v1 rest api. @@ -63,9 +65,8 @@ public class MetricsHandler extends ThreadedHttpRequestHandler { try { return new JsonResponse(OK, v1Content(requestUri)); } catch (JSONException e) { - log.warning("Bad JSON construction in " + V1_PATH + " response: " + e.getMessage()); - return new ErrorResponse(INTERNAL_SERVER_ERROR, - "An error occurred, please try path '" + VALUES_PATH + "'"); + log.log(WARNING, "Bad JSON construction in " + V1_PATH + " response", e); + return new ErrorResponse(INTERNAL_SERVER_ERROR, "An error occurred, please try path '" + VALUES_PATH + "'"); } } |