Repository: james-project Updated Branches: refs/heads/master db6dd056c -> 3138d60e3
Add logs of http JMAP requests on /jmap endpoint Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3138d60e Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3138d60e Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3138d60e Branch: refs/heads/master Commit: 3138d60e35ef155b61fbcfa9332a6f67cbffb6ae Parents: db6dd05 Author: Antoine Duprat <adup...@linagora.com> Authored: Thu May 11 15:07:13 2017 +0200 Committer: Antoine Duprat <adup...@linagora.com> Committed: Thu May 11 15:28:04 2017 +0200 ---------------------------------------------------------------------- server/protocols/jmap/pom.xml | 10 ++++++++++ .../main/java/org/apache/james/jmap/JMAPServer.java | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/3138d60e/server/protocols/jmap/pom.xml ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml index e27d982..cf74ca9 100644 --- a/server/protocols/jmap/pom.xml +++ b/server/protocols/jmap/pom.xml @@ -372,6 +372,16 @@ <artifactId>slf4j-simple</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.zalando</groupId> + <artifactId>logbook-core</artifactId> + <version>1.2.1</version> + </dependency> + <dependency> + <groupId>org.zalando</groupId> + <artifactId>logbook-servlet</artifactId> + <version>1.2.1</version> + </dependency> </dependencies> <build> <plugins> http://git-wip-us.apache.org/repos/asf/james-project/blob/3138d60e/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServer.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServer.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServer.java index a6ac629..5d7ad49 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServer.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServer.java @@ -20,6 +20,7 @@ package org.apache.james.jmap; import static org.apache.james.jmap.BypassAuthOnRequestMethod.bypass; +import static org.zalando.logbook.HeaderFilters.authorization; import java.util.Optional; @@ -32,11 +33,18 @@ import org.apache.james.http.jetty.Configuration; import org.apache.james.http.jetty.Configuration.Builder; import org.apache.james.http.jetty.JettyHttpServer; import org.apache.james.lifecycle.api.Configurable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.zalando.logbook.DefaultHttpLogWriter; +import org.zalando.logbook.DefaultHttpLogWriter.Level; +import org.zalando.logbook.Logbook; +import org.zalando.logbook.servlet.LogbookFilter; import com.github.fge.lambdas.Throwing; public class JMAPServer implements Configurable { + private static final Logger HTTP_JMAP_LOGGER = LoggerFactory.getLogger("http.jmap"); private final Optional<JettyHttpServer> server; @Inject @@ -55,6 +63,7 @@ public class JMAPServer implements Configurable { .with(jmapServlet) .filter(JMAPUrls.JMAP) .with(new AllowAllCrossOriginRequests(bypass(authenticationFilter).on("OPTIONS").only())) + .and(new LogbookFilter(logbook())) .and(userProvisioningFilter) .and(defaultMailboxesProvisioningFilter) .only() @@ -84,6 +93,13 @@ public class JMAPServer implements Configurable { return builder; } + private Logbook logbook() { + return Logbook.builder() + .headerFilter(authorization()) + .writer(new DefaultHttpLogWriter(HTTP_JMAP_LOGGER, Level.DEBUG)) + .build(); + } + @Override public void configure(HierarchicalConfiguration config) throws ConfigurationException { server.ifPresent(Throwing.consumer(JettyHttpServer::start).sneakyThrow()); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org