From 53f397102d2d4a5a07de7ea65b010b0560026306 Mon Sep 17 00:00:00 2001 From: Byron Antak Date: Fri, 25 Oct 2024 14:21:07 +0100 Subject: [PATCH] Add configurable request logging --- .../mojito/security/RequestLoggingConfig.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 webapp/src/main/java/com/box/l10n/mojito/security/RequestLoggingConfig.java diff --git a/webapp/src/main/java/com/box/l10n/mojito/security/RequestLoggingConfig.java b/webapp/src/main/java/com/box/l10n/mojito/security/RequestLoggingConfig.java new file mode 100644 index 000000000..ada692711 --- /dev/null +++ b/webapp/src/main/java/com/box/l10n/mojito/security/RequestLoggingConfig.java @@ -0,0 +1,38 @@ +package com.box.l10n.mojito.security; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.filter.CommonsRequestLoggingFilter; + +@Configuration +public class RequestLoggingConfig { + + @Value("${l10n.logging.requests.includesQueryString:false}") + public boolean includesQueryString; + + @Value("${l10n.logging.requests.includesHeader:false}") + public boolean includesHeader; + + @Value("${l10n.logging.requests.includesPayload:true}") + public boolean includesPayload; + + @Value("${l10n.logging.requests.maxPayloadLength:10000}") + public int maxPayloadLength; + + @Value("${l10n.logging.requests.maxPayloadLength:Request Data}") + public String afterMessagePrefix; + + @Bean + @ConditionalOnProperty(value = "l10n.logging.requests.enabled", havingValue = "true") + public CommonsRequestLoggingFilter logFilter() { + CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter(); + filter.setIncludeQueryString(includesQueryString); + filter.setIncludePayload(includesPayload); + filter.setMaxPayloadLength(maxPayloadLength); + filter.setIncludeHeaders(includesHeader); + filter.setAfterMessagePrefix(afterMessagePrefix); + return filter; + } +}