This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4f6eafb5d0415cbfae4649058ac364439aa3dfdd Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Tue May 7 10:29:16 2019 +0700 JAMES-2233 Adding more context to WebAdmin audit logs --- .../apache/james/webadmin/mdc/LoggingRequestFilter.java | 17 +++++++++++++++-- .../james/webadmin/mdc/LoggingResponseFilter.java | 15 ++++++++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingRequestFilter.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingRequestFilter.java index 08a6e5e..fac1e90 100644 --- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingRequestFilter.java +++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingRequestFilter.java @@ -19,21 +19,34 @@ package org.apache.james.webadmin.mdc; +import static org.apache.james.webadmin.authentication.AuthenticationFilter.LOGIN; + import org.apache.james.util.MDCStructuredLogger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.collect.ImmutableSet; + import spark.Filter; import spark.Request; import spark.Response; public class LoggingRequestFilter implements Filter { private static final Logger LOGGER = LoggerFactory.getLogger(LoggingRequestFilter.class); - private static final String REQUEST_BODY = "request-body"; + static final String REQUEST_BODY = "request-body"; + static final String METHOD = "method"; + static final String ENDPOINT = "endpoint"; + static final String QUERY_PARAMETERS = "queryParameters"; + static final String IP = "ip"; @Override - public void handle(Request request, Response response) throws Exception { + public void handle(Request request, Response response) { MDCStructuredLogger.forLogger(LOGGER) + .addField(IP, request.ip()) + .addField(ENDPOINT, request.url()) + .addField(METHOD, request.requestMethod()) + .addField(LOGIN, request.attribute(LOGIN)) + .addField(QUERY_PARAMETERS, ImmutableSet.copyOf(request.queryParams())) .addField(REQUEST_BODY, request.body()) .log(logger -> logger.info("WebAdmin request received")); } diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingResponseFilter.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingResponseFilter.java index ebe4ff5..cffc7a5 100644 --- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingResponseFilter.java +++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/mdc/LoggingResponseFilter.java @@ -19,10 +19,18 @@ package org.apache.james.webadmin.mdc; +import static org.apache.james.webadmin.authentication.AuthenticationFilter.LOGIN; +import static org.apache.james.webadmin.mdc.LoggingRequestFilter.ENDPOINT; +import static org.apache.james.webadmin.mdc.LoggingRequestFilter.IP; +import static org.apache.james.webadmin.mdc.LoggingRequestFilter.METHOD; +import static org.apache.james.webadmin.mdc.LoggingRequestFilter.QUERY_PARAMETERS; + import org.apache.james.util.MDCStructuredLogger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.collect.ImmutableSet; + import spark.Filter; import spark.Request; import spark.Response; @@ -33,8 +41,13 @@ public class LoggingResponseFilter implements Filter { private static final String RESPONSE_BODY = "response-body"; @Override - public void handle(Request request, Response response) throws Exception { + public void handle(Request request, Response response) { MDCStructuredLogger.forLogger(LOGGER) + .addField(IP, request.ip()) + .addField(ENDPOINT, request.url()) + .addField(METHOD, request.requestMethod()) + .addField(LOGIN, request.attribute(LOGIN)) + .addField(QUERY_PARAMETERS, ImmutableSet.copyOf(request.queryParams())) .addField(STATUS, response.status()) .addField(RESPONSE_BODY, response.body()) .log(logger -> logger.info("WebAdmin response received")); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org