From d6cb82f7ee8045fd54f6c2c945461a13dc0b3148 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 19 Jun 2026 12:48:23 +0200 Subject: chore(core): reduce ExceptionCatchFilter logging to exceptions only Hint: request logging is now performed only at debug level --- .../pdfas/web/filter/ExceptionCatchFilter.java | 26 ++++++++++++---------- .../pdfas/web/web_xml_bridges/FilterBridge.java | 14 +++++++----- 2 files changed, 22 insertions(+), 18 deletions(-) (limited to 'pdf-as-web/src/main/java/at/gv') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java index a597c222..65fcdd33 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java @@ -28,6 +28,13 @@ import java.util.Collections; import java.util.Enumeration; import java.util.List; +import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.MDC; + +import com.beust.jcommander.Strings; +import com.beust.jcommander.internal.Lists; + import jakarta.servlet.Filter; import jakarta.servlet.FilterChain; import jakarta.servlet.FilterConfig; @@ -37,14 +44,6 @@ import jakarta.servlet.ServletResponse; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; - -import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.MDC; - -import com.beust.jcommander.Strings; -import com.beust.jcommander.internal.Lists; - import lombok.extern.slf4j.Slf4j; /** @@ -93,11 +92,11 @@ public class ExceptionCatchFilter implements Filter { if (request instanceof HttpServletRequest httpRequest) { - HttpSession session = httpRequest.getSession(isStatefull(httpRequest.getServletPath())); + HttpSession session = httpRequest.getSession(isStatefull(httpRequest.getServletPath())); String sessionId = session != null ? session.getId() : "-"; MDC.put("SESSION_ID", sessionId); - log.info("Access from IP: {}", getClientIpAddr(httpRequest)); - log.info("Access to: {} in Session: {}", httpRequest.getServletPath(), sessionId); + log.debug("Access from IP: {}", getClientIpAddr(httpRequest)); + log.debug("Access to: {} in Session: {}", httpRequest.getServletPath(), sessionId); if (!JakartaServletFileUpload.isMultipartContent(httpRequest)) { log.debug("Processing Parameters into Attributes"); @@ -141,7 +140,10 @@ public class ExceptionCatchFilter implements Filter { } private boolean isStatefull(String contextPath) { - boolean statefull = !statelessPaths.contains(contextPath); + boolean statefull = !statelessPaths.stream() + .filter(el -> contextPath.startsWith(el)) + .findFirst() + .isPresent(); log.trace("ServletPath: {} is marked as {}", contextPath, statefull ? "statefull" : "stateless"); return statefull; diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java index 2c4d8c8a..ee9d0cb4 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java @@ -1,15 +1,17 @@ package at.gv.egiz.pdfas.web.web_xml_bridges; -import at.gv.egiz.pdfas.web.filter.ExceptionCatchFilter; -import at.gv.egiz.pdfas.web.filter.UserAgentFilter; -import com.thetransactioncompany.cors.CORSFilter; -import jakarta.servlet.Filter; -import lombok.val; import org.apache.catalina.filters.SetCharacterEncodingFilter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import com.thetransactioncompany.cors.CORSFilter; + +import at.gv.egiz.pdfas.web.filter.ExceptionCatchFilter; +import at.gv.egiz.pdfas.web.filter.UserAgentFilter; +import jakarta.servlet.Filter; +import lombok.val; + /** Takes the old web.xml filter mappings and exposes them to Spring Boot */ @Configuration public class FilterBridge { @@ -26,7 +28,7 @@ public class FilterBridge { public FilterRegistrationBean exceptionCatchFilter() { val reg = new FilterRegistrationBean(new ExceptionCatchFilter()); reg.addUrlPatterns("/*"); - reg.addInitParameter("statelessServlets", "/placeholder,/visblock"); + reg.addInitParameter("statelessServlets", "/actuator,/placeholder,/visblock"); reg.setOrder(2); return reg; } -- cgit v1.2.3