JAMES-1854 CommonsLoggingAdapter should directly wrap SLF4J Logger

Thus, it will respect log levels


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d703714b
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d703714b
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d703714b

Branch: refs/heads/master
Commit: d703714bef4370eebb9a45cf831616fec5d459c2
Parents: abfa7a7
Author: Benoit Tellier <[email protected]>
Authored: Mon Oct 31 14:13:21 2016 +0100
Committer: Benoit Tellier <[email protected]>
Committed: Fri Nov 18 18:46:46 2016 +0700

----------------------------------------------------------------------
 .../james/transport/mailets/LocalDelivery.java  |  2 +-
 .../transport/mailets/SieveLocalDelivery.java   |  2 +-
 .../mailets/SieveToRecipientFolder.java         |  2 +-
 .../transport/mailets/ToRecipientFolder.java    |  2 +-
 .../mailets/jsieve/CommonsLoggingAdapter.java   | 45 +++++-----
 .../jsieve/CommonsLoggingAdapterTest.java       | 91 +++++++-------------
 6 files changed, 58 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
index 28b9a51..3b80d76 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
@@ -90,7 +90,7 @@ public class LocalDelivery extends GenericMailet {
         recipientRewriteTable.setRecipientRewriteTable(rrt);
         recipientRewriteTable.init(getMailetConfig());
         Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
+            .wrappedLogger(getMailetContext().getLogger())
             .quiet(getInitParameter("quiet", false))
             .verbose(getInitParameter("verbose", false))
             .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
index 6826c83..5a53209 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
@@ -97,7 +97,7 @@ public class SieveLocalDelivery extends GenericMailet {
         recipientRewriteTable.setRecipientRewriteTable(rrt);
         recipientRewriteTable.init(getMailetConfig());
         Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
+            .wrappedLogger(getMailetContext().getLogger())
             .quiet(getInitParameter("quiet", false))
             .verbose(getInitParameter("verbose", false))
             .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
index 56d3a7c..b0b0642 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
@@ -86,7 +86,7 @@ public class SieveToRecipientFolder extends GenericMailet {
     @Override
     public void init() throws MessagingException {
         Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
+            .wrappedLogger(getMailetContext().getLogger())
             .quiet(getInitParameter("quiet", true))
             .verbose(getInitParameter("verbose", false))
             .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
index 9270dcb..6bc7835 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
@@ -78,7 +78,7 @@ public class ToRecipientFolder extends GenericMailet {
     @Override
     public void init() throws MessagingException {
         Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
+            .wrappedLogger(getMailetContext().getLogger())
             .quiet(getInitParameter("quiet", true))
             .verbose(getInitParameter("verbose", false))
             .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapter.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapter.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapter.java
index 18df8ed..7be17e0 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapter.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapter.java
@@ -19,7 +19,7 @@
 package org.apache.james.transport.mailets.jsieve;
 
 import org.apache.commons.logging.Log;
-import org.apache.mailet.base.GenericMailet;
+import org.slf4j.Logger;
 
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
@@ -36,10 +36,10 @@ public class CommonsLoggingAdapter implements Log {
     public static class Builder {
         private Optional<Boolean> verbose = Optional.absent();
         private Optional<Boolean> quiet = Optional.absent();
-        private GenericMailet genericMailet;
+        private Logger logger;
 
-        public Builder mailet(GenericMailet genericMailet) {
-            this.genericMailet = genericMailet;
+        public Builder wrappedLogger(Logger logger) {
+            this.logger = logger;
             return this;
         }
 
@@ -54,11 +54,11 @@ public class CommonsLoggingAdapter implements Log {
         }
 
         public CommonsLoggingAdapter build() {
-            Preconditions.checkNotNull(genericMailet);
+            Preconditions.checkNotNull(logger);
             Boolean quietParameter = quiet.or(false);
             Boolean verboseParameter = verbose.or(false);
             Preconditions.checkState(!(verboseParameter && quietParameter), 
"You can not specify a logger both verbose and quiet");
-            return new CommonsLoggingAdapter(genericMailet, 
computeLogLevel(quietParameter, verboseParameter));
+            return new CommonsLoggingAdapter(logger, 
computeLogLevel(quietParameter, verboseParameter));
         }
 
         private int computeLogLevel(boolean quiet, boolean verbose) {
@@ -79,60 +79,60 @@ public class CommonsLoggingAdapter implements Log {
     public static final int ERROR = 2;
     public static final int FATAL = 1;
     
-    private final GenericMailet mailet;
+    private final Logger logger;
     private final int level;
     
-    public CommonsLoggingAdapter(final GenericMailet mailet, final int level) {
+    private CommonsLoggingAdapter(Logger logger, final int level) {
         super();
-        this.mailet = mailet;
+        this.logger = logger;
         this.level = level;
     }
 
     public void debug(Object message) {
         if (isDebugEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.debug(message == null ? "NULL" : message.toString());
         }
     }
 
     public void debug(Object message, Throwable t) {
         if (isDebugEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.debug(message == null ? "NULL" : message.toString(), t);
         } 
     }
 
     public void error(Object message) {
         if (isErrorEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.error(message == null ? "NULL" : message.toString());
         }
     }
 
     public void error(Object message, Throwable t) {
         if (isErrorEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.error(message == null ? "NULL" : message.toString(), t);
         }
     }
 
     public void fatal(Object message) {
         if (isFatalEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.error(message == null ? "NULL" : message.toString());
         }
     }
 
     public void fatal(Object message, Throwable t) {
         if (isFatalEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.error(message == null ? "NULL" : message.toString(), t);
         }
     }
 
     public void info(Object message) {
         if (isInfoEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.info(message == null ? "NULL" : message.toString());
         }
     }
 
     public void info(Object message, Throwable t) {
         if (isInfoEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.info(message == null ? "NULL" : message.toString(), t);
         }
     }
 
@@ -162,27 +162,26 @@ public class CommonsLoggingAdapter implements Log {
 
     public void trace(Object message) {
         if (isTraceEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.debug(message == null ? "NULL" : message.toString());
         }
     }
 
     public void trace(Object message, Throwable t) {
         if (isTraceEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.debug(message == null ? "NULL" : message.toString(), t);
         }
     }
 
     public void warn(Object message) {
         if (isWarnEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString());
+            logger.warn(message == null ? "NULL" : message.toString());
         }
     }
 
     public void warn(Object message, Throwable t) {
         if (isWarnEnabled()) {
-            mailet.log(message == null ? "NULL" : message.toString(), t);
+            logger.warn(message == null ? "NULL" : message.toString(), t);
         }
     }
-    
-    
+
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/d703714b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapterTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapterTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapterTest.java
index a3619ac..2fc9042 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapterTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/CommonsLoggingAdapterTest.java
@@ -25,14 +25,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 
-import javax.mail.MessagingException;
-
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.GenericMailet;
-import org.apache.mailet.base.test.FakeMailContext;
-import org.apache.mailet.base.test.FakeMailetConfig;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -41,11 +34,11 @@ import org.slf4j.Logger;
 public class CommonsLoggingAdapterTest {
 
     @Rule public ExpectedException expectedException = 
ExpectedException.none();
-    private GenericMailet genericMailet;
+    private Logger logger;
 
     @Before
     public void setUp() {
-        genericMailet = mock(GenericMailet.class);
+        logger = mock(Logger.class);
     }
 
     @Test
@@ -58,7 +51,7 @@ public class CommonsLoggingAdapterTest {
     @Test
     public void buildShouldDefaultToLogLevelWarn() {
         CommonsLoggingAdapter loggingAdapter = CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build();
 
         assertThat(loggingAdapter.isTraceEnabled()).isFalse();
@@ -73,7 +66,7 @@ public class CommonsLoggingAdapterTest {
     @Test
     public void buildShouldUseFatalWithQuiet() {
         CommonsLoggingAdapter loggingAdapter = CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .quiet(true)
             .build();
 
@@ -88,7 +81,7 @@ public class CommonsLoggingAdapterTest {
     @Test
     public void buildShouldUseTraceWithVerbose() {
         CommonsLoggingAdapter loggingAdapter = CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .verbose(true)
             .build();
 
@@ -105,7 +98,7 @@ public class CommonsLoggingAdapterTest {
         expectedException.expect(IllegalStateException.class);
 
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .verbose(true)
             .quiet(true)
             .build();
@@ -115,12 +108,12 @@ public class CommonsLoggingAdapterTest {
     public void simpleLoggingInVerboseModeShouldWorkInDebug() {
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .verbose(true)
             .build()
             .debug(message);
 
-        verify(genericMailet).log(message);
+        verify(logger).debug(message);
     }
 
     @Test
@@ -128,23 +121,23 @@ public class CommonsLoggingAdapterTest {
         Exception exception = new Exception();
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .verbose(true)
             .build()
             .debug(message, exception);
 
-        verify(genericMailet).log(message, exception);
+        verify(logger).debug(message, exception);
     }
 
     @Test
     public void simpleLoggingInInfoModeShouldNotWorkByDefault() {
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .info(message);
 
-        verifyNoMoreInteractions(genericMailet);
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
@@ -152,22 +145,22 @@ public class CommonsLoggingAdapterTest {
         Exception exception = new Exception();
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .info(message, exception);
 
-        verifyNoMoreInteractions(genericMailet);
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
     public void simpleLoggingInWarnModeShouldWorkByDefault() {
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .warn(message);
 
-        verify(genericMailet).log(message);
+        verify(logger).warn(message);
     }
 
     @Test
@@ -175,23 +168,23 @@ public class CommonsLoggingAdapterTest {
         Exception exception = new Exception();
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .warn(message, exception);
 
-        verify(genericMailet).log(message, exception);
+        verify(logger).warn(message, exception);
     }
 
     @Test
     public void simpleLoggingInErrorModeShouldNotWorkWithQuiet() {
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .quiet(true)
             .build()
             .error(message);
 
-        verifyNoMoreInteractions(genericMailet);
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
@@ -199,24 +192,24 @@ public class CommonsLoggingAdapterTest {
         Exception exception = new Exception();
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .quiet(true)
             .build()
             .error(message, exception);
 
-        verifyNoMoreInteractions(genericMailet);
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
     public void simpleLoggingInFatalModeShouldWorkWithQuiet() {
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .quiet(true)
             .build()
             .fatal(message);
 
-        verify(genericMailet).log(message);
+        verify(logger).error(message);
     }
 
     @Test
@@ -224,63 +217,43 @@ public class CommonsLoggingAdapterTest {
         Exception exception = new Exception();
         String message = "Message";
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .quiet(true)
             .build()
             .fatal(message, exception);
 
-        verify(genericMailet).log(message, exception);
-    }
-
-    @Ignore("Mailet logging choose log level based on arguments")
-    @Test
-    public void logIsUsingWrongLogLevelReported() throws Exception {
-        GenericMailet genericMailet = new GenericMailet() {
-            @Override
-            public void service(Mail mail) throws MessagingException {
-
-            }
-        };
-        Logger logger = mock(Logger.class);
-        genericMailet.init(new FakeMailetConfig("name", 
FakeMailContext.builder()
-            .logger(logger)
-            .build()));
-
-        String message = "Fatal";
-        
CommonsLoggingAdapter.builder().mailet(genericMailet).build().error(message);
-
-        verify(logger).info(message);
+        verify(logger).error(message, exception);
     }
 
     @Test
     public void logShouldHandleNullValue() {
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .fatal(null);
 
-        verify(genericMailet).log("NULL");
+        verify(logger).error("NULL");
     }
 
     @Test
     public void logShouldHandleNullValueWithException() {
         Exception exception = new Exception();
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .fatal(null, exception);
 
-        verify(genericMailet).log("NULL", exception);
+        verify(logger).error("NULL", exception);
     }
 
 
     @Test
     public void logShouldHandleNullException() {
         CommonsLoggingAdapter.builder()
-            .mailet(genericMailet)
+            .wrappedLogger(logger)
             .build()
             .fatal(null, null);
 
-        verify(genericMailet).log("NULL", null);
+        verify(logger).error("NULL", (Throwable) null);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to