You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/05/10 03:27:02 UTC

[james-project] 01/07: JAMES-2233 Adding more context to WebAdmin audit logs

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 <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org