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