From d95f01b7014787cddd853170383da1daa842ba5c Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Mon, 31 Jul 2023 14:20:27 +0200 Subject: [PATCH] (control) Reduce log spam in control svc --- .../nu/marginalia/service/server/Service.java | 30 +++++++++++++------ .../nu/marginalia/control/ControlService.java | 17 +++++++++++ 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/code/common/service/src/main/java/nu/marginalia/service/server/Service.java b/code/common/service/src/main/java/nu/marginalia/service/server/Service.java index ebd75753..4185aad6 100644 --- a/code/common/service/src/main/java/nu/marginalia/service/server/Service.java +++ b/code/common/service/src/main/java/nu/marginalia/service/server/Service.java @@ -119,11 +119,7 @@ public class Service { Spark.halt(403); } - String url = request.pathInfo(); - if (request.queryString() != null) { - url = url + "?" + request.queryString(); - } - logger.info(httpMarker, "PUBLIC {}: {} {}", Context.fromRequest(request).getContextId(), request.requestMethod(), url); + logRequest(request); } private Object isInitialized(Request request, Response response) { @@ -168,9 +164,8 @@ public class Service { request_counter_bad.labels(serviceName).inc(); } - if (null != request.headers("X-Public")) { - logger.info(httpMarker, "RSP {}", response.status()); - } + logResponse(request, response); + } private void paintThreadName(Request request, String prefix) { @@ -178,7 +173,7 @@ public class Service { Thread.currentThread().setName(prefix + ctx.getContextId()); } - private void handleException(Exception ex, Request request, Response response) { + protected void handleException(Exception ex, Request request, Response response) { request_counter_err.labels(serviceName).inc(); if (ex instanceof MessagingException) { logger.error("{} {}", ex.getClass().getSimpleName(), ex.getMessage()); @@ -188,4 +183,21 @@ public class Service { } } + /** Log the request on the HTTP log */ + protected void logRequest(Request request) { + String url = request.pathInfo(); + if (request.queryString() != null) { + url = url + "?" + request.queryString(); + } + + logger.info(httpMarker, "PUBLIC {}: {} {}", Context.fromRequest(request).getContextId(), request.requestMethod(), url); + } + + /** Log the response on the HTTP log */ + protected void logResponse(Request request, Response response) { + if (null != request.headers("X-Public")) { + logger.info(httpMarker, "RSP {}", response.status()); + } + } + } diff --git a/code/services-satellite/control-service/src/main/java/nu/marginalia/control/ControlService.java b/code/services-satellite/control-service/src/main/java/nu/marginalia/control/ControlService.java index e1efc3e4..49e5cd19 100644 --- a/code/services-satellite/control-service/src/main/java/nu/marginalia/control/ControlService.java +++ b/code/services-satellite/control-service/src/main/java/nu/marginalia/control/ControlService.java @@ -120,6 +120,23 @@ public class ControlService extends Service { monitors.subscribe(this::logMonitorStateChange); } + @Override + public void logRequest(Request request) { + if ("GET".equals(request.requestMethod())) + return; + + super.logRequest(request); + } + + @Override + public void logResponse(Request request, Response response) { + if ("GET".equals(request.requestMethod())) + return; + + super.logResponse(request, response); + } + + private Object messageModel(Request request, Response response) { var message = messageQueueViewService.getMessage(Long.parseLong(request.params("id"))); if (message != null) {