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 2017/08/24 03:46:49 UTC

[24/38] james-project git commit: JAMES-2114 Deprecate LogEnabled API

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
index d7e35b5..caf0699 100644
--- a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
+++ b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
@@ -36,10 +36,10 @@ import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.DNSServiceMBean;
 import org.apache.james.dnsservice.api.TemporaryResolutionException;
 import org.apache.james.lifecycle.api.Configurable;
-import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.metrics.api.TimeMetric;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.xbill.DNS.ARecord;
 import org.xbill.DNS.Cache;
 import org.xbill.DNS.Credibility;
@@ -62,7 +62,8 @@ import com.google.common.collect.ImmutableList;
 /**
  * Provides DNS client functionality to services running inside James
  */
-public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled, Configurable {
+public class DNSJavaService implements DNSService, DNSServiceMBean, Configurable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(DNSJavaService.class);
 
     /**
      * A resolver instance used to retrieve DNS records. This is a reference to
@@ -115,12 +116,6 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
 
     private String localAddress;
 
-    private Logger logger;
-
-    public void setLog(Logger logger) {
-        this.logger = logger;
-    }
-
     @Inject
     public DNSJavaService(MetricFactory metricFactory) {
         this.metricFactory = metricFactory;
@@ -133,21 +128,21 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
 
         List<Name> sPaths = new ArrayList<>();
         if (autodiscover) {
-            logger.info("Autodiscovery is enabled - trying to discover your system's DNS Servers");
+            LOGGER.info("Autodiscovery is enabled - trying to discover your system's DNS Servers");
             String[] serversArray = ResolverConfig.getCurrentConfig().servers();
             if (serversArray != null) {
                 for (String aServersArray : serversArray) {
                     dnsServers.add(aServersArray);
-                    logger.info("Adding autodiscovered server " + aServersArray);
+                    LOGGER.info("Adding autodiscovered server " + aServersArray);
                 }
             }
             Name[] systemSearchPath = ResolverConfig.getCurrentConfig().searchPath();
             if (systemSearchPath != null && systemSearchPath.length > 0) {
                 sPaths.addAll(Arrays.asList(systemSearchPath));
             }
-            if (logger.isInfoEnabled()) {
+            if (LOGGER.isInfoEnabled()) {
                 for (Name searchPath : sPaths) {
-                    logger.info("Adding autodiscovered search path " + searchPath.toString());
+                    LOGGER.info("Adding autodiscovered search path " + searchPath.toString());
                 }
             }
         }
@@ -171,7 +166,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
         searchPaths = sPaths.toArray(new Name[sPaths.size()]);
 
         if (dnsServers.isEmpty()) {
-            logger.info("No DNS servers have been specified or found by autodiscovery - adding 127.0.0.1");
+            LOGGER.info("No DNS servers have been specified or found by autodiscovery - adding 127.0.0.1");
             dnsServers.add("127.0.0.1");
         }
 
@@ -186,7 +181,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
 
     @PostConstruct
     public void init() throws Exception {
-        logger.debug("DNSService init...");
+        LOGGER.debug("DNSService init...");
 
         // If no DNS servers were configured, default to local host
         if (dnsServers.isEmpty()) {
@@ -200,16 +195,16 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
         // Create the extended resolver...
         final String[] serversArray = dnsServers.toArray(new String[dnsServers.size()]);
 
-        if (logger.isInfoEnabled()) {
+        if (LOGGER.isInfoEnabled()) {
             for (String aServersArray : serversArray) {
-                logger.info("DNS Server is: " + aServersArray);
+                LOGGER.info("DNS Server is: " + aServersArray);
             }
         }
 
         try {
             resolver = new ExtendedResolver(serversArray);
         } catch (UnknownHostException uhe) {
-            logger.error("DNS service could not be initialized.  The DNS servers specified are not recognized hosts.", uhe);
+            LOGGER.error("DNS service could not be initialized.  The DNS servers specified are not recognized hosts.", uhe);
             throw uhe;
         }
 
@@ -220,7 +215,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
             Lookup.setDefaultResolver(resolver);
             Lookup.setDefaultCache(cache, DClass.IN);
             Lookup.setDefaultSearchPath(searchPaths);
-            logger.info("Registered cache, resolver and search paths as DNSJava defaults");
+            LOGGER.info("Registered cache, resolver and search paths as DNSJava defaults");
         }
 
         // Cache the local hostname and local address. This is needed because
@@ -232,7 +227,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
         localHostName = addr.getHostName();
         localAddress = addr.getHostAddress();
 
-        logger.debug("DNSService ...init end");
+        LOGGER.debug("DNSService ...init end");
     }
 
     /**
@@ -312,7 +307,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
                 Collections.shuffle(samePrio);
                 servers.addAll(samePrio);
             }
-            logger.debug("Found MX record " + mxRecord);
+            LOGGER.debug("Found MX record " + mxRecord);
         }
         return servers;
     }
@@ -329,7 +324,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
             // it's a valid DNS entry
             if (servers.size() == 0) {
                 StringBuffer logBuffer = new StringBuffer(128).append("Couldn't resolve MX records for domain ").append(hostname).append(".");
-                logger.info(logBuffer.toString());
+                LOGGER.info(logBuffer.toString());
                 try {
                     getByName(hostname);
                     servers.add(hostname);
@@ -338,7 +333,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
                     // so we can't add it to the server list. In this
                     // case we return an empty list of servers
                     logBuffer = new StringBuffer(128).append("Couldn't resolve IP address for host ").append(hostname).append(".");
-                    logger.error(logBuffer.toString(), uhe);
+                    LOGGER.error(logBuffer.toString(), uhe);
                 }
             }
             timeMetric.stopAndPublish();
@@ -375,14 +370,14 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
             } catch (IllegalStateException ise) {
                 // This is okay, because it mimics the original behaviour
                 // TODO find out if it's a bug in DNSJava
-                logger.warn("Error determining result ", ise);
+                LOGGER.warn("Error determining result ", ise);
                 throw new TemporaryResolutionException("DNSService is temporary not reachable");
             }
 
             // return rawDNSLookup(name, false, type, typeDesc);
         } catch (TextParseException tpe) {
             // TODO: Figure out how to handle this correctly.
-            logger.error("Couldn't parse name " + namestr, tpe);
+            LOGGER.error("Couldn't parse name " + namestr, tpe);
             return null;
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
index be24c10..e4d9323 100644
--- a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
+++ b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
@@ -71,7 +71,6 @@ public class DNSJavaServiceTest {
 
         db.load(new ByteArrayInputStream(DNS_SERVER_CONFIG));
 
-        dnsServer.setLog(LoggerFactory.getLogger(DNSJavaServiceTest.class));
         dnsServer.configure(db);
         dnsServer.init();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java b/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java
index c91847c..8e4d1fa 100644
--- a/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java
+++ b/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java
@@ -27,11 +27,12 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.ImmutableList;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.mailet.HostAddress;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -42,14 +43,15 @@ import com.google.common.collect.Maps;
  */
 @SuppressWarnings("deprecation")
 public class MXHostAddressIterator implements Iterator<HostAddress> {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MXHostAddressIterator.class);
 
     private final Iterator<HostAddress> addresses;
 
-    public MXHostAddressIterator(Iterator<String> hosts, DNSService dns, boolean useSingleIP, Logger logger) {
-        this(hosts, 25, dns, useSingleIP, logger);
+    public MXHostAddressIterator(Iterator<String> hosts, DNSService dns, boolean useSingleIP) {
+        this(hosts, 25, dns, useSingleIP);
     }
 
-    public MXHostAddressIterator(Iterator<String> hosts, int defaultPort, DNSService dns, boolean useSingleIP, Logger logger) {
+    public MXHostAddressIterator(Iterator<String> hosts, int defaultPort, DNSService dns, boolean useSingleIP) {
         checkNotNull(hosts, "Hosts is null");
         checkNotNull(dns, "Dns is null");
         final List<HostAddress> hAddresses = Lists.newArrayList();
@@ -74,7 +76,7 @@ public class MXHostAddressIterator implements Iterator<HostAddress> {
                 // this host from mxHosts, which should have
                 // already done this check.
                 String logBuffer = "Couldn't resolve IP address for discovered host " + hostAndPort.getKey() + ".";
-                logger.error(logBuffer);
+                LOGGER.error(logBuffer);
             }
         }
         addresses = hAddresses.iterator();

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/dns-service/dnsservice-library/src/test/java/org/apache/james/dnsservice/library/MXHostAddressIteratorTest.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-library/src/test/java/org/apache/james/dnsservice/library/MXHostAddressIteratorTest.java b/server/dns-service/dnsservice-library/src/test/java/org/apache/james/dnsservice/library/MXHostAddressIteratorTest.java
index d162de3..c2aa2bb 100644
--- a/server/dns-service/dnsservice-library/src/test/java/org/apache/james/dnsservice/library/MXHostAddressIteratorTest.java
+++ b/server/dns-service/dnsservice-library/src/test/java/org/apache/james/dnsservice/library/MXHostAddressIteratorTest.java
@@ -18,17 +18,20 @@
  ****************************************************************/
 package org.apache.james.dnsservice.library;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Arrays;
 import java.util.Collection;
 
-import com.google.common.collect.ImmutableList;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.TemporaryResolutionException;
-import static org.junit.Assert.*;
 import org.junit.Test;
-import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.ImmutableList;
 
 public class MXHostAddressIteratorTest {
 
@@ -73,16 +76,14 @@ public class MXHostAddressIteratorTest {
                 throw new UnsupportedOperationException();
             }
         };
-        MXHostAddressIterator it = new MXHostAddressIterator(Arrays.asList("localhost", "localhost2").iterator(), dns,
-                false, LoggerFactory.getLogger(this.getClass()));
+        MXHostAddressIterator it = new MXHostAddressIterator(Arrays.asList("localhost", "localhost2").iterator(), dns, false);
         for (int i = 0; i < 4; i++) {
             assertTrue(it.hasNext());
             assertNotNull(it.next());
         }
         assertFalse(it.hasNext());
 
-        it = new MXHostAddressIterator(Arrays.asList("localhost", "localhost2").iterator(), dns, true, LoggerFactory.
-                getLogger(this.getClass()));
+        it = new MXHostAddressIterator(Arrays.asList("localhost", "localhost2").iterator(), dns, true);
         for (int i = 0; i < 2; i++) {
             assertTrue(it.hasNext());
             assertNotNull(it.next());
@@ -129,8 +130,7 @@ public class MXHostAddressIteratorTest {
         };
 
         // See JAMES-1271
-        MXHostAddressIterator it = new MXHostAddressIterator(Arrays.asList("localhost").iterator(), dns, false,
-                LoggerFactory.getLogger(this.getClass()));
+        MXHostAddressIterator it = new MXHostAddressIterator(Arrays.asList("localhost").iterator(), dns, false);
         assertFalse(it.hasNext());
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 634d753..e7f7b9f 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -32,7 +32,6 @@ import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.Disposable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean;
 import org.apache.james.metrics.api.MetricFactory;
@@ -44,13 +43,15 @@ import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor;
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Manages the mail spool. This class is responsible for retrieving messages
  * from the spool, directing messages to the appropriate processor, and removing
  * them from the spool when processing is complete.
  */
-public class JamesMailSpooler implements Runnable, Disposable, Configurable, LogEnabled, MailSpoolerMBean {
+public class JamesMailSpooler implements Runnable, Disposable, Configurable, MailSpoolerMBean {
+    private static final Logger LOGGER = LoggerFactory.getLogger(JamesMailSpooler.class);
 
     public static final String SPOOL_PROCESSING = "spoolProcessing";
     private MailQueue queue;
@@ -86,8 +87,6 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
      */
     private MailProcessor mailProcessor;
 
-    private Logger logger;
-
     private MailQueueFactory queueFactory;
 
     private int numDequeueThreads;
@@ -121,13 +120,13 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
      */
     @PostConstruct
     public void init() {
-        logger.info(getClass().getName() + " init...");
+        LOGGER.info(getClass().getName() + " init...");
 
         queue = queueFactory.getQueue(MailQueueFactory.SPOOL);
 
-        if (logger.isInfoEnabled()) {
+        if (LOGGER.isInfoEnabled()) {
             String infoBuffer = getClass().getName() + " uses " + numThreads + " Thread(s)";
-            logger.info(infoBuffer);
+            LOGGER.info(infoBuffer);
         }
 
         active.set(true);
@@ -147,9 +146,9 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
     @Override
     public void run() {
 
-        if (logger.isInfoEnabled()) {
-            logger.info("Run " + getClass().getName() + ": " + Thread.currentThread().getName());
-            logger.info("Queue=" + queue.toString());
+        if (LOGGER.isInfoEnabled()) {
+            LOGGER.info("Run " + getClass().getName() + ": " + Thread.currentThread().getName());
+            LOGGER.info("Queue=" + queue.toString());
         }
 
         while (active.get()) {
@@ -166,17 +165,17 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
                         processingActive.incrementAndGet();
 
                         Mail mail = queueItem.getMail();
-                        if (logger.isDebugEnabled()) {
+                        if (LOGGER.isDebugEnabled()) {
                             String debugBuffer = "==== Begin processing mail " + mail.getName() + "====";
-                            logger.debug(debugBuffer);
+                            LOGGER.debug(debugBuffer);
                         }
 
                         try {
                             mailProcessor.service(mail);
                             queueItem.done(true);
                         } catch (Exception e) {
-                            if (active.get() && logger.isErrorEnabled()) {
-                                logger.error("Exception processing mail while spooling " + e.getMessage(), e);
+                            if (active.get() && LOGGER.isErrorEnabled()) {
+                                LOGGER.error("Exception processing mail while spooling " + e.getMessage(), e);
                             }
                             queueItem.done(false);
 
@@ -185,8 +184,8 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
                             mail = null;
                         }
                     } catch (Throwable e) {
-                        if (active.get() && logger.isErrorEnabled()) {
-                            logger.error("Exception processing mail while spooling " + e.getMessage(), e);
+                        if (active.get() && LOGGER.isErrorEnabled()) {
+                            LOGGER.error("Exception processing mail while spooling " + e.getMessage(), e);
 
                         }
                     } finally {
@@ -197,15 +196,15 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
 
                 });
             } catch (MailQueueException e1) {
-                if (active.get() && logger.isErrorEnabled()) {
-                    logger.error("Exception dequeue mail", e1);
+                if (active.get() && LOGGER.isErrorEnabled()) {
+                    LOGGER.error("Exception dequeue mail", e1);
 
                 }
             } catch (InterruptedException interrupted) {
                 //MailSpooler is stopping
             }
         }
-        logger.info("Stop {} : {}", getClass().getName(), Thread.currentThread().getName());
+        LOGGER.info("Stop {} : {}", getClass().getName(), Thread.currentThread().getName());
     }
 
     /**
@@ -221,7 +220,7 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
     @PreDestroy
     @Override
     public void dispose() {
-        logger.info(getClass().getName() + " dispose...");
+        LOGGER.info(getClass().getName() + " dispose...");
         active.set(false); // shutdown the threads
         dequeueService.shutdownNow();
         workerService.shutdown();
@@ -235,11 +234,7 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
             }
         }
 
-        logger.info(getClass().getName() + " thread shutdown completed.");
-    }
-
-    public void setLog(Logger log) {
-        this.logger = log;
+        LOGGER.info(getClass().getName() + " thread shutdown completed.");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index 1970a29..7f292e4 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -48,7 +48,6 @@ import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.api.DomainListException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.user.api.UsersRepository;
@@ -60,11 +59,13 @@ import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetContext;
 import org.apache.mailet.base.RFC2822Headers;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
 
 @SuppressWarnings("deprecation")
-public class JamesMailetContext implements MailetContext, LogEnabled, Configurable {
+public class JamesMailetContext implements MailetContext, Configurable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(JamesMailetContext.class);
 
     /**
      * A hash table of server attributes These are the MailetContext attributes
@@ -72,8 +73,6 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     private final Hashtable<String, Object> attributes = new Hashtable<>();
     protected DNSService dns;
 
-    protected Logger log;
-
     private UsersRepository localusers;
 
     private MailQueue rootMailQueue;
@@ -183,14 +182,14 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     @Override
     public void bounce(Mail mail, String message, MailAddress bouncer) throws MessagingException {
         if (mail.getSender() == null) {
-            if (log.isInfoEnabled())
-                log.info("Mail to be bounced contains a null (<>) reverse path.  No bounce will be sent.");
+            if (LOGGER.isInfoEnabled())
+                LOGGER.info("Mail to be bounced contains a null (<>) reverse path.  No bounce will be sent.");
             return;
         } else {
             // Bounce message goes to the reverse path, not to the Reply-To
             // address
-            if (log.isInfoEnabled())
-                log.info("Processing a bounce request for a message with a reverse path of " + mail.getSender().toString());
+            if (LOGGER.isInfoEnabled())
+                LOGGER.info("Processing a bounce request for a message with a reverse path of " + mail.getSender().toString());
         }
 
         MailImpl reply = rawBounce(mail, message);
@@ -302,7 +301,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     @Override
     public Iterator<HostAddress> getSMTPHostAddresses(String domainName) {
         try {
-            return new MXHostAddressIterator(dns.findMXRecords(domainName).iterator(), dns, false, log);
+            return new MXHostAddressIterator(dns.findMXRecords(domainName).iterator(), dns, false);
         } catch (TemporaryResolutionException e) {
             // TODO: We only do this to not break backward compatiblity. Should
             // fixed later
@@ -320,7 +319,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
         try {
             return domains.containsDomain(name);
         } catch (DomainListException e) {
-            log.error("Unable to retrieve domains", e);
+            LOGGER.error("Unable to retrieve domains", e);
             return false;
         }
     }
@@ -328,29 +327,29 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     @Override
     @Deprecated
     public void log(String arg0) {
-        log.info(arg0);
+        LOGGER.info(arg0);
     }
 
     @Override
     @Deprecated
     public void log(String arg0, Throwable arg1) {
-        log.info(arg0, arg1);
+        LOGGER.info(arg0, arg1);
     }
 
     @Override
     public void log(LogLevel logLevel, String s) {
         switch (logLevel) {
             case INFO:
-                log.info(s);
+                LOGGER.info(s);
                 break;
             case WARN:
-                log.warn(s);
+                LOGGER.warn(s);
                 break;
             case ERROR:
-                log.error(s);
+                LOGGER.error(s);
                 break;
             default:
-                log.debug(s);
+                LOGGER.debug(s);
         }
     }
 
@@ -358,16 +357,16 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     public void log(LogLevel logLevel, String s, Throwable throwable) {
         switch (logLevel) {
             case INFO:
-                log.info(s, throwable);
+                LOGGER.info(s, throwable);
                 break;
             case WARN:
-                log.warn(s, throwable);
+                LOGGER.warn(s, throwable);
                 break;
             case ERROR:
-                log.error(s, throwable);
+                LOGGER.error(s, throwable);
                 break;
             default:
-                log.debug(s, throwable);
+                LOGGER.debug(s, throwable);
         }
     }
 
@@ -433,11 +432,6 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     }
 
     @Override
-    public void setLog(Logger log) {
-        this.log = log;
-    }
-
-    @Override
     public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         try {
 
@@ -471,7 +465,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
                             "address.  This is not necessarily a problem, but it does mean that emails addressed to " +
                             "the postmaster will be routed to another server.  For some configurations this may " +
                             "cause problems.";
-                    log.warn(warnBuffer);
+                    LOGGER.warn(warnBuffer);
                 }
             } catch (AddressException e) {
                 throw new ConfigurationException("Postmaster address " + postMasterAddress + "is invalid", e);
@@ -483,6 +477,6 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
 
     @Override
     public Logger getLogger() {
-        return log;
+        return LOGGER;
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
index b6c1411..c4e4b3d 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
@@ -109,7 +109,6 @@ public class CamelCompositeProcessor extends AbstractStateCompositeProcessor imp
     protected MailProcessor createMailProcessor(String name, HierarchicalConfiguration config) throws Exception {
         CamelMailetProcessor processor = new CamelMailetProcessor(metricFactory);
         try {
-            processor.setLog(logger);
             processor.setCamelContext(camelContext);
             processor.setMailetContext(mailetContext);
             processor.setMailetLoader(mailetLoader);

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
index 7f879c4..1fbfd10 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
@@ -42,6 +42,7 @@ import org.apache.mailet.Mailet;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.Matcher;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableList;
 
@@ -50,6 +51,7 @@ import com.google.common.collect.ImmutableList;
  * the {@link Matcher} / {@link Mailet} routing
  */
 public class CamelMailetProcessor extends AbstractStateMailetProcessor implements CamelContextAware {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CamelMailetProcessor.class);
 
     private CamelContext context;
 
@@ -149,11 +151,10 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
             Processor stateChangedProcessor = new StateChangedProcessor();
 
             String state = getState();
-            Logger logger = getLogger();
 
             RouteDefinition processorDef = from(getEndpoint()).routeId(state).setExchangePattern(ExchangePattern.InOnly)
             // store the logger in properties
-                    .setProperty(MatcherSplitter.LOGGER_PROPERTY, constant(getLogger()))
+                    .setProperty(MatcherSplitter.LOGGER_PROPERTY, constant(LOGGER))
                     .setProperty(MatcherSplitter.METRIC_FACTORY, constant(metricFactory));
 
             for (MatcherMailetPair pair : pairs) {
@@ -167,7 +168,7 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
                     onMatchException = ((MailetConfigImpl) mailetConfig).getInitAttribute("onMatchException");
                 }
 
-                CamelProcessor mailetProccessor = new CamelProcessor(metricFactory, mailet, logger, CamelMailetProcessor.this);
+                CamelProcessor mailetProccessor = new CamelProcessor(metricFactory, mailet, CamelMailetProcessor.this);
                 // Store the matcher to use for splitter in properties
                 processorDef.setProperty(MatcherSplitter.MATCHER_PROPERTY, constant(matcher)).setProperty(MatcherSplitter.ON_MATCH_EXCEPTION_PROPERTY, constant(onMatchException)).setProperty(MatcherSplitter.MAILETCONTAINER_PROPERTY, constant(CamelMailetProcessor.this))
 
@@ -181,7 +182,7 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
                         .choice().when(new MailStateNotEquals(state)).process(stateChangedProcessor).process(completeProcessor).stop().end();
             }
 
-            Processor terminatingMailetProcessor = new CamelProcessor(metricFactory, new TerminatingMailet(), getLogger(), CamelMailetProcessor.this);
+            Processor terminatingMailetProcessor = new CamelProcessor(metricFactory, new TerminatingMailet(), CamelMailetProcessor.this);
 
             processorDef
             // start choice
@@ -211,7 +212,7 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
         private final class CompleteProcessor implements Processor {
 
             public void process(Exchange ex) throws Exception {
-                getLogger().debug("End of mailetprocessor for state " + getState() + " reached");
+                LOGGER.debug("End of mailetprocessor for state " + getState() + " reached");
                 ex.setProperty(Exchange.ROUTE_STOP, true);
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelProcessor.java
index f21c940..1723034 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelProcessor.java
@@ -37,6 +37,7 @@ import org.apache.mailet.Mailet;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.base.MailetPipelineLogging;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableList;
 
@@ -44,10 +45,10 @@ import com.google.common.collect.ImmutableList;
  * Mailet wrapper which execute a Mailet in a Processor
  */
 public class CamelProcessor implements Processor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CamelProcessor.class);
 
     private final MetricFactory metricFactory;
     private final Mailet mailet;
-    private final Logger logger;
     private final CamelMailetProcessor processor;
 
     /**
@@ -56,10 +57,9 @@ public class CamelProcessor implements Processor {
      * @param metricFactory
      * @param mailet
      */
-    public CamelProcessor(MetricFactory metricFactory, Mailet mailet, Logger logger, CamelMailetProcessor processor) {
+    public CamelProcessor(MetricFactory metricFactory, Mailet mailet, CamelMailetProcessor processor) {
         this.metricFactory = metricFactory;
         this.mailet = mailet;
-        this.logger = logger;
         this.processor = processor;
     }
 
@@ -103,7 +103,7 @@ public class CamelProcessor implements Processor {
                 // changed by the mailet
                 ProcessorUtil.verifyMailAddresses(mail.getRecipients());
             } else {
-                ProcessorUtil.handleException(me, mail, mailet.getMailetConfig().getMailetName(), onMailetException, logger);
+                ProcessorUtil.handleException(me, mail, mailet.getMailetConfig().getMailetName(), onMailetException, LOGGER);
             }
 
         } finally {

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
index b68e93f..39ae880 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
@@ -32,33 +32,26 @@ import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.impl.jmx.JMXStateCompositeProcessorListener;
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Abstract base class for {@link org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor} which service the
  * {@link Mail} with a {@link org.apache.james.mailetcontainer.impl.camel.CamelProcessor} instances
  */
-public abstract class AbstractStateCompositeProcessor implements MailProcessor, Configurable, LogEnabled {
+public abstract class AbstractStateCompositeProcessor implements MailProcessor, Configurable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AbstractStateCompositeProcessor.class);
 
     private final List<CompositeProcessorListener> listeners = Collections.synchronizedList(new ArrayList<CompositeProcessorListener>());
     private final Map<String, MailProcessor> processors = new HashMap<>();
-    protected Logger logger;
     protected HierarchicalConfiguration config;
 
     private JMXStateCompositeProcessorListener jmxListener;
     private boolean enableJmx = true;
 
-    /**
-     * @see org.apache.james.lifecycle.api.LogEnabled#setLog(org.slf4j.Logger)
-     */
-    public void setLog(Logger log) {
-        this.logger = log;
-
-    }
 
     public void addListener(CompositeProcessorListener listener) {
         listeners.add(listener);
@@ -93,7 +86,7 @@ public abstract class AbstractStateCompositeProcessor implements MailProcessor,
         MailProcessor processor = getProcessor(mail.getState());
 
         if (processor != null) {
-            logger.debug("Call MailProcessor " + mail.getState());
+            LOGGER.debug("Call MailProcessor " + mail.getState());
             try {
                 processor.service(mail);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
index e3070ac..db12893 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
@@ -34,7 +34,6 @@ import javax.management.NotCompliantMBeanException;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
-import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.MailetLoader;
 import org.apache.james.mailetcontainer.api.MatcherLoader;
@@ -53,6 +52,7 @@ import org.apache.mailet.MatcherConfig;
 import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.base.MatcherInverter;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.github.steveash.guavate.Guavate;
 
@@ -60,7 +60,8 @@ import com.github.steveash.guavate.Guavate;
  * Abstract base class for {@link MailProcessor} implementations which want to
  * process {@link Mail} via {@link Matcher} and {@link Mailet}
  */
-public abstract class AbstractStateMailetProcessor implements MailProcessor, Configurable, LogEnabled {
+public abstract class AbstractStateMailetProcessor implements MailProcessor, Configurable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AbstractStateMailetProcessor.class);
 
     private MailetContext mailetContext;
     private MatcherLoader matcherLoader;
@@ -68,7 +69,6 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
     private final List<MailetProcessorListener> listeners = Collections.synchronizedList(new ArrayList<MailetProcessorListener>());
     private JMXStateMailetProcessorListener jmxListener;
     private boolean enableJmx = true;
-    private Logger logger;
     private HierarchicalConfiguration config;
     private MailetLoader mailetLoader;
     private final List<MatcherMailetPair> pairs = new ArrayList<>();
@@ -92,12 +92,6 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
         this.mailetLoader = mailetLoader;
     }
 
-    /**
-     * @see org.apache.james.lifecycle.api.LogEnabled#setLog(org.slf4j.Logger)
-     */
-    public void setLog(Logger log) {
-        this.logger = log;
-    }
 
     /**
      * @see
@@ -144,13 +138,13 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
         for (MatcherMailetPair pair : pairs) {
             Mailet mailet = pair.getMailet();
             Matcher matcher = pair.getMatcher();
-            if (logger.isDebugEnabled()) {
-                logger.debug("Shutdown matcher " + matcher.getMatcherInfo());
+            if (LOGGER.isDebugEnabled()) {
+                LOGGER.debug("Shutdown matcher " + matcher.getMatcherInfo());
             }
             matcher.destroy();
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Shutdown mailet " + mailet.getMailetInfo());
+            if (LOGGER.isDebugEnabled()) {
+                LOGGER.debug("Shutdown mailet " + mailet.getMailetInfo());
             }
             mailet.destroy();
 
@@ -167,10 +161,6 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
         rootMailProcessor.service(mail);
     }
 
-    protected Logger getLogger() {
-        return logger;
-    }
-
     protected String getState() {
         return state;
     }
@@ -357,34 +347,34 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
                 }
 
                 // The matcher itself should log that it's been inited.
-                if (logger.isInfoEnabled()) {
+                if (LOGGER.isInfoEnabled()) {
                     String infoBuffer = "Matcher " + matcherName + " instantiated.";
-                    logger.info(infoBuffer.toString());
+                    LOGGER.info(infoBuffer.toString());
                 }
             } catch (MessagingException ex) {
                 // **** Do better job printing out exception
-                if (logger.isErrorEnabled()) {
+                if (LOGGER.isErrorEnabled()) {
                     String errorBuffer = "Unable to init matcher " + matcherName + ": " + ex.toString();
-                    logger.error(errorBuffer.toString(), ex);
+                    LOGGER.error(errorBuffer.toString(), ex);
                     if (ex.getNextException() != null) {
-                        logger.error("Caused by nested exception: ", ex.getNextException());
+                        LOGGER.error("Caused by nested exception: ", ex.getNextException());
                     }
                 }
                 throw new ConfigurationException("Unable to init matcher " + matcherName, ex);
             }
             try {
                 mailet = mailetLoader.getMailet(createMailetConfig(mailetClassName, c));
-                if (logger.isInfoEnabled()) {
+                if (LOGGER.isInfoEnabled()) {
                     String infoBuffer = "Mailet " + mailetClassName + " instantiated.";
-                    logger.info(infoBuffer.toString());
+                    LOGGER.info(infoBuffer.toString());
                 }
             } catch (MessagingException ex) {
                 // **** Do better job printing out exception
-                if (logger.isErrorEnabled()) {
+                if (LOGGER.isErrorEnabled()) {
                     String errorBuffer = "Unable to init mailet " + mailetClassName + ": " + ex.toString();
-                    logger.error(errorBuffer.toString(), ex);
+                    LOGGER.error(errorBuffer.toString(), ex);
                     if (ex.getNextException() != null) {
-                        logger.error("Caused by nested exception: ", ex.getNextException());
+                        LOGGER.error("Caused by nested exception: ", ex.getNextException());
                     }
                 }
                 throw new ConfigurationException("Unable to init mailet " + mailetClassName, ex);
@@ -427,7 +417,7 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
                 // error processor. That is currently the
                 // normal situation for James, and the message
                 // will show up in the error store.
-                logger.warn("Message {} reached the end of this processor, and is automatically deleted. " +
+                LOGGER.warn("Message {} reached the end of this processor, and is automatically deleted. " +
                     "This may indicate a configuration error.", mail.getName());
             }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index b561142..01c9bf0 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -53,7 +53,6 @@ public class JamesMailetContextTest {
     @Before
     public void setUp() throws Exception {
         domainList = new MemoryDomainList(DNS_SERVICE);
-        domainList.setLog(LOGGER);
         HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class);
         when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(false);
         when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false);

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
index 7e2bf43..d1373ce 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
@@ -26,7 +26,6 @@ import org.apache.james.mailetcontainer.api.mock.MockMatcherLoader;
 import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor;
 import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessorTest;
 import org.apache.james.metrics.api.NoopMetricFactory;
-import org.slf4j.LoggerFactory;
 
 public class CamelCompositeProcessorTest extends AbstractStateCompositeProcessorTest {
 
@@ -34,7 +33,6 @@ public class CamelCompositeProcessorTest extends AbstractStateCompositeProcessor
     protected AbstractStateCompositeProcessor createProcessor(HierarchicalConfiguration config) throws Exception {
         CamelCompositeProcessor processor = new CamelCompositeProcessor(new NoopMetricFactory());
         try {
-            processor.setLog(LoggerFactory.getLogger("MockLog"));
             processor.setCamelContext(new DefaultCamelContext());
             processor.setMailetLoader(new MockMailetLoader());
             processor.setMatcherLoader(new MockMatcherLoader());

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
index 6622a72..d76bae2 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
@@ -30,8 +30,6 @@ import org.apache.james.mailetcontainer.api.mock.MockMatcherLoader;
 import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor;
 import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessorTest;
 import org.apache.james.metrics.api.NoopMetricFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class CamelMailetProcessorTest extends AbstractStateMailetProcessorTest {
 
@@ -40,11 +38,6 @@ public class CamelMailetProcessorTest extends AbstractStateMailetProcessorTest {
         CamelMailetProcessor processor = null;
         try {
             processor = new CamelMailetProcessor(new NoopMetricFactory());
-            Logger log = LoggerFactory.getLogger("MockLog");
-            // slf4j can't set programmatically any log level. It's just a
-            // facade
-            // log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
-            processor.setLog(log);
             processor.setCamelContext(new DefaultCamelContext());
             processor.setMailetContext(new MockMailetContext());
             processor.setMailetLoader(new MockMailetLoader());

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
index 9a36ab9..b000490 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
@@ -37,8 +37,6 @@ import org.apache.mailet.Mail;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public abstract class AbstractStateCompositeProcessorTest {
 
@@ -63,10 +61,6 @@ public abstract class AbstractStateCompositeProcessorTest {
                 };
             }
         };
-        Logger log = LoggerFactory.getLogger("MockLog");
-        // slf4j can't set programmatically any log level. It's just a facade
-        // log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
-        processor.setLog(log);
         processor.configure(createConfig(Arrays.asList("root", "error", "test")));
         processor.init();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
index 1bc94ff..76736cf 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
@@ -44,7 +44,6 @@ import org.apache.james.transport.mailets.remoteDelivery.RemoteDeliverySocketFac
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.GenericMailet;
-import org.slf4j.Logger;
 
 import com.google.common.collect.HashMultimap;
 
@@ -135,7 +134,6 @@ public class RemoteDelivery extends GenericMailet {
     private final THREAD_STATE startThreads;
 
     private MailQueue queue;
-    private Logger logger;
     private RemoteDeliveryConfiguration configuration;
     private ExecutorService executor;
 
@@ -154,7 +152,6 @@ public class RemoteDelivery extends GenericMailet {
     }
 
     public void init() throws MessagingException {
-        logger = getMailetContext().getLogger();
         configuration = new RemoteDeliveryConfiguration(getMailetConfig(), domainList);
         queue = queueFactory.getQueue(configuration.getOutGoingQueueName());
         try {
@@ -176,9 +173,8 @@ public class RemoteDelivery extends GenericMailet {
                     configuration,
                     dnsServer,
                     metricFactory,
-                    logger,
                     getMailetContext(),
-                    new Bouncer(configuration, getMailetContext(), logger),
+                    new Bouncer(configuration, getMailetContext()),
                     isDestroyed));
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
index 3390a8d..928c379 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
@@ -27,29 +27,31 @@ import javax.mail.internet.AddressException;
 
 import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Optional;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
 public class AddressesArrayToMailAddressListConverter {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AddressesArrayToMailAddressListConverter.class);
 
-    public static List<MailAddress> getAddressesAsMailAddress(Address[] addresses, final Logger logger) {
+    public static List<MailAddress> getAddressesAsMailAddress(Address[] addresses) {
         if (addresses == null) {
             return ImmutableList.of();
         }
         return FluentIterable.from(Arrays.asList(addresses))
-            .transform(address -> toMailAddress(logger, address))
+            .transform(address -> toMailAddress(address))
             .filter(Optional::isPresent)
             .transform(Optional::get)
             .toList();
     }
 
-    private static Optional<MailAddress> toMailAddress(Logger logger, Address address) {
+    private static Optional<MailAddress> toMailAddress(Address address) {
         try {
             return Optional.of(new MailAddress(address.toString()));
         } catch (AddressException e) {
-            logger.debug("Can't parse unsent address " + address, e);
+            LOGGER.debug("Can't parse unsent address " + address, e);
             return Optional.absent();
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Bouncer.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Bouncer.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Bouncer.java
index fa60c23..d0a12c4 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Bouncer.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Bouncer.java
@@ -32,23 +32,23 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetContext;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Bouncer {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Bouncer.class);
 
     public static final String DELIVERY_ERROR = "delivery-error";
     private final RemoteDeliveryConfiguration configuration;
     private final MailetContext mailetContext;
-    private final Logger logger;
 
-    public Bouncer(RemoteDeliveryConfiguration configuration, MailetContext mailetContext, Logger logger) {
+    public Bouncer(RemoteDeliveryConfiguration configuration, MailetContext mailetContext) {
         this.configuration = configuration;
         this.mailetContext = mailetContext;
-        this.logger = logger;
     }
 
     public void bounce(Mail mail, Exception ex) {
         if (mail.getSender() == null) {
-            logger.debug("Null Sender: no bounce will be generated for {}", mail.getName());
+            LOGGER.debug("Null Sender: no bounce will be generated for {}", mail.getName());
         } else {
             if (configuration.getBounceProcessor() != null) {
                 mail.setAttribute(DELIVERY_ERROR, getErrorMsg(ex));
@@ -56,7 +56,7 @@ public class Bouncer {
                 try {
                     mailetContext.sendMail(mail);
                 } catch (MessagingException e) {
-                    logger.warn("Exception re-inserting failed mail: ", e);
+                    LOGGER.warn("Exception re-inserting failed mail: ", e);
                 }
             } else {
                 bounceWithMailetContext(mail, ex);
@@ -66,13 +66,13 @@ public class Bouncer {
 
 
     private void bounceWithMailetContext(Mail mail, Exception ex) {
-        logger.debug("Sending failure message " + mail.getName());
+        LOGGER.debug("Sending failure message " + mail.getName());
         try {
             mailetContext.bounce(mail, explanationText(mail, ex));
         } catch (MessagingException me) {
-            logger.warn("Encountered unexpected messaging exception while bouncing message: {}", me.getMessage());
+            LOGGER.warn("Encountered unexpected messaging exception while bouncing message: {}", me.getMessage());
         } catch (Exception e) {
-            logger.warn("Encountered unexpected exception while bouncing message: {}", e.getMessage());
+            LOGGER.warn("Encountered unexpected exception while bouncing message: {}", e.getMessage());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
index 7bab048..4877545 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
@@ -33,11 +33,13 @@ import org.apache.james.queue.api.MailQueue;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetContext;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Supplier;
 
 public class DeliveryRunnable implements Runnable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryRunnable.class);
 
     public static final Supplier<Date> CURRENT_DATE_SUPPLIER = Date::new;
     public static final AtomicBoolean DEFAULT_NOT_STARTED = new AtomicBoolean(false);
@@ -48,26 +50,24 @@ public class DeliveryRunnable implements Runnable {
     private final RemoteDeliveryConfiguration configuration;
     private final Metric outgoingMailsMetric;
     private final MetricFactory metricFactory;
-    private final Logger logger;
     private final Bouncer bouncer;
     private final MailDelivrer mailDelivrer;
     private final AtomicBoolean isDestroyed;
     private final Supplier<Date> dateSupplier;
 
     public DeliveryRunnable(MailQueue queue, RemoteDeliveryConfiguration configuration, DNSService dnsServer, MetricFactory metricFactory,
-                            Logger logger, MailetContext mailetContext, Bouncer bouncer, AtomicBoolean isDestroyed) {
-        this(queue, configuration, metricFactory, logger, bouncer,
-            new MailDelivrer(configuration, new MailDelivrerToHost(configuration, mailetContext, logger), dnsServer, bouncer, logger),
+                            MailetContext mailetContext, Bouncer bouncer, AtomicBoolean isDestroyed) {
+        this(queue, configuration, metricFactory, bouncer,
+            new MailDelivrer(configuration, new MailDelivrerToHost(configuration, mailetContext), dnsServer, bouncer),
             isDestroyed, CURRENT_DATE_SUPPLIER);
     }
 
     @VisibleForTesting
-    DeliveryRunnable(MailQueue queue, RemoteDeliveryConfiguration configuration, MetricFactory metricFactory, Logger logger, Bouncer bouncer,
+    DeliveryRunnable(MailQueue queue, RemoteDeliveryConfiguration configuration, MetricFactory metricFactory, Bouncer bouncer,
                      MailDelivrer mailDelivrer, AtomicBoolean isDestroyeds, Supplier<Date> dateSupplier) {
         this.queue = queue;
         this.configuration = configuration;
         this.outgoingMailsMetric = metricFactory.generate(OUTGOING_MAILS);
-        this.logger = logger;
         this.bouncer = bouncer;
         this.mailDelivrer = mailDelivrer;
         this.isDestroyed = isDestroyeds;
@@ -99,7 +99,7 @@ public class DeliveryRunnable implements Runnable {
 
             try {
                 if (configuration.isDebug()) {
-                    logger.debug("{} will process mail {}", Thread.currentThread().getName(), mail.getName());
+                    LOGGER.debug("{} will process mail {}", Thread.currentThread().getName(), mail.getName());
                 }
                 attemptDelivery(mail);
                 LifecycleUtil.dispose(mail);
@@ -110,14 +110,14 @@ public class DeliveryRunnable implements Runnable {
                 // DO NOT CHANGE THIS to catch Error!
                 // For example, if there were an OutOfMemory condition caused because
                 // something else in the server was abusing memory, we would not want to start purging the retrying spool!
-                logger.error("Exception caught in RemoteDelivery.run()", e);
+                LOGGER.error("Exception caught in RemoteDelivery.run()", e);
                 LifecycleUtil.dispose(mail);
                 queueItem.done(false);
             }
 
         } catch (Throwable e) {
             if (!isDestroyed.get()) {
-                logger.error("Exception caught in RemoteDelivery.run()", e);
+                LOGGER.error("Exception caught in RemoteDelivery.run()", e);
             }
         } finally {
             if (timeMetric != null) {
@@ -153,13 +153,13 @@ public class DeliveryRunnable implements Runnable {
         if (retries < configuration.getMaxRetries()) {
             reAttemptDelivery(mail, retries);
         } else {
-            logger.debug("Bouncing message {} after {} retries", mail.getName(), retries);
+            LOGGER.debug("Bouncing message {} after {} retries", mail.getName(), retries);
             bouncer.bounce(mail, new Exception("Too many retries failure. Bouncing after " + retries + " retries.", executionResult.getException().orNull()));
         }
     }
 
     private void reAttemptDelivery(Mail mail, int retries) throws MailQueue.MailQueueException {
-        logger.debug("Storing message {} into outgoing after {} retries", mail.getName(), retries);
+        LOGGER.debug("Storing message {} into outgoing after {} retries", mail.getName(), retries);
         DeliveryRetriesHelper.incrementRetries(mail);
         mail.setLastUpdated(dateSupplier.get());
         // Something happened that will delay delivery. Store it back in the retry repository.

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DnsHelper.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DnsHelper.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DnsHelper.java
index 6d396be..18da3f8 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DnsHelper.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DnsHelper.java
@@ -25,7 +25,6 @@ import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.TemporaryResolutionException;
 import org.apache.james.dnsservice.library.MXHostAddressIterator;
 import org.apache.mailet.HostAddress;
-import org.slf4j.Logger;
 
 @SuppressWarnings("deprecation")
 public class DnsHelper {
@@ -33,19 +32,17 @@ public class DnsHelper {
     public static final boolean USE_SEVERAL_IP = false;
     private final DNSService dnsServer;
     private final RemoteDeliveryConfiguration configuration;
-    private final Logger logger;
 
-    public DnsHelper(DNSService dnsServer, RemoteDeliveryConfiguration configuration, Logger logger) {
+    public DnsHelper(DNSService dnsServer, RemoteDeliveryConfiguration configuration) {
         this.dnsServer = dnsServer;
         this.configuration = configuration;
-        this.logger = logger;
     }
 
     public Iterator<HostAddress> retrieveHostAddressIterator(String host) throws TemporaryResolutionException {
         if (configuration.getGatewayServer().isEmpty()) {
-            return new MXHostAddressIterator(dnsServer.findMXRecords(host).iterator(), dnsServer, USE_SEVERAL_IP, logger);
+            return new MXHostAddressIterator(dnsServer.findMXRecords(host).iterator(), dnsServer, USE_SEVERAL_IP);
         } else {
-            return new MXHostAddressIterator(configuration.getGatewayServer().iterator(), dnsServer, USE_SEVERAL_IP, logger);
+            return new MXHostAddressIterator(configuration.getGatewayServer().iterator(), dnsServer, USE_SEVERAL_IP);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
index 1646177..c0f8f82 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
@@ -35,6 +35,7 @@ import org.apache.mailet.HostAddress;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
@@ -43,26 +44,25 @@ import com.google.common.collect.Iterables;
 
 @SuppressWarnings("deprecation")
 public class MailDelivrer {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MailDelivrer.class);
 
     private final RemoteDeliveryConfiguration configuration;
     private final MailDelivrerToHost mailDelivrerToHost;
     private final DnsHelper dnsHelper;
     private final MessageComposer messageComposer;
     private final Bouncer bouncer;
-    private final Logger logger;
 
-    public MailDelivrer(RemoteDeliveryConfiguration configuration, MailDelivrerToHost mailDelivrerToHost, DNSService dnsServer, Bouncer bouncer, Logger logger) {
-        this(configuration, mailDelivrerToHost, new DnsHelper(dnsServer, configuration, logger), bouncer, logger);
+    public MailDelivrer(RemoteDeliveryConfiguration configuration, MailDelivrerToHost mailDelivrerToHost, DNSService dnsServer, Bouncer bouncer) {
+        this(configuration, mailDelivrerToHost, new DnsHelper(dnsServer, configuration), bouncer);
     }
 
     @VisibleForTesting
-    MailDelivrer(RemoteDeliveryConfiguration configuration, MailDelivrerToHost mailDelivrerToHost, DnsHelper dnsHelper, Bouncer bouncer, Logger logger) {
+    MailDelivrer(RemoteDeliveryConfiguration configuration, MailDelivrerToHost mailDelivrerToHost, DnsHelper dnsHelper, Bouncer bouncer) {
         this.configuration = configuration;
         this.mailDelivrerToHost = mailDelivrerToHost;
         this.dnsHelper = dnsHelper;
         this.messageComposer = new MessageComposer(configuration);
         this.bouncer = bouncer;
-        this.logger = logger;
     }
 
     /**
@@ -84,18 +84,18 @@ public class MailDelivrer {
             boolean isPermanent = new EnhancedMessagingException(ex).isServerError();
             return logAndReturn(mail, ExecutionResult.onFailure(isPermanent, ex));
         } catch (Exception ex) {
-            logger.error("Generic exception = permanent failure: {}", ex.getMessage(), ex);
+            LOGGER.error("Generic exception = permanent failure: {}", ex.getMessage(), ex);
             return logAndReturn(mail, ExecutionResult.permanentFailure(ex));
         }
     }
 
     private ExecutionResult tryDeliver(Mail mail) throws MessagingException {
         if (mail.getRecipients().isEmpty()) {
-            logger.info("No recipients specified... not sure how this could have happened.");
+            LOGGER.info("No recipients specified... not sure how this could have happened.");
             return ExecutionResult.permanentFailure(new Exception("No recipients specified for " + mail.getName() + " sent by " + mail.getSender()));
         }
         if (configuration.isDebug()) {
-            logger.debug("Attempting to deliver {}", mail.getName());
+            LOGGER.debug("Attempting to deliver {}", mail.getName());
         }
 
         String host = retrieveTargetHostname(mail);
@@ -130,9 +130,9 @@ public class MailDelivrer {
             } catch (MessagingException me) {
                 lastError = handleMessagingException(mail, me);
                 if (configuration.isDebug()) {
-                    logger.debug(me.getMessage(), me.getCause());
+                    LOGGER.debug(me.getMessage(), me.getCause());
                 } else {
-                    logger.info(me.getMessage());
+                    LOGGER.info(me.getMessage());
                 }
             }
         }
@@ -149,7 +149,7 @@ public class MailDelivrer {
     }
 
     private MessagingException handleMessagingException(Mail mail, MessagingException me) throws MessagingException {
-        logger.debug("Exception delivering message ({}) - {}", mail.getName(), me.getMessage());
+        LOGGER.debug("Exception delivering message ({}) - {}", mail.getName(), me.getMessage());
         if ((me.getNextException() != null) && (me.getNextException() instanceof IOException)) {
             // If it's an IO exception with no nested exception, it's probably
             // some socket or weird I/O related problem.
@@ -167,15 +167,15 @@ public class MailDelivrer {
     ExecutionResult handleSenderFailedException(Mail mail, SendFailedException sfe) {
         logSendFailedException(sfe);
         EnhancedMessagingException enhancedMessagingException = new EnhancedMessagingException(sfe);
-        List<MailAddress> invalidAddresses = AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(sfe.getInvalidAddresses(), logger);
-        List<MailAddress> validUnsentAddresses = AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(sfe.getValidUnsentAddresses(), logger);
+        List<MailAddress> invalidAddresses = AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(sfe.getInvalidAddresses());
+        List<MailAddress> validUnsentAddresses = AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(sfe.getValidUnsentAddresses());
         if (configuration.isDebug()) {
-            logger.debug("Mail {} has initially recipients: {}", mail.getName(), mail.getRecipients());
+            LOGGER.debug("Mail {} has initially recipients: {}", mail.getName(), mail.getRecipients());
             if (!invalidAddresses.isEmpty()) {
-                logger.debug("Invalid recipients: {}", invalidAddresses);
+                LOGGER.debug("Invalid recipients: {}", invalidAddresses);
             }
             if (!validUnsentAddresses.isEmpty()) {
-                logger.debug("Unsent recipients: {}", validUnsentAddresses);
+                LOGGER.debug("Unsent recipients: {}", validUnsentAddresses);
             }
         }
         if (!validUnsentAddresses.isEmpty()) {
@@ -205,7 +205,7 @@ public class MailDelivrer {
     }
 
     private ExecutionResult logAndReturn(Mail mail, ExecutionResult executionResult) {
-        logger.debug(messageComposer.composeFailLogMessage(mail, executionResult));
+        LOGGER.debug(messageComposer.composeFailLogMessage(mail, executionResult));
         return executionResult;
     }
 
@@ -215,7 +215,7 @@ public class MailDelivrer {
         if (sfe.getValidSentAddresses() != null) {
             Address[] validSent = sfe.getValidSentAddresses();
             if (validSent.length > 0) {
-                logger.debug( "Mail ({}) sent successfully for {}", mail.getName(), Arrays.asList(validSent));
+                LOGGER.debug( "Mail ({}) sent successfully for {}", mail.getName(), Arrays.asList(validSent));
             }
         }
 
@@ -226,7 +226,7 @@ public class MailDelivrer {
 
         if (sfe.getValidUnsentAddresses() != null && sfe.getValidUnsentAddresses().length > 0) {
             if (configuration.isDebug())
-                logger.debug("Send failed, {} valid addresses remain, continuing with any other servers", ImmutableList.copyOf(sfe.getValidUnsentAddresses()));
+                LOGGER.debug("Send failed, {} valid addresses remain, continuing with any other servers", ImmutableList.copyOf(sfe.getValidUnsentAddresses()));
             return sfe;
         } else {
             // There are no valid addresses left to send, so rethrow
@@ -235,7 +235,7 @@ public class MailDelivrer {
     }
 
     private ExecutionResult handleNoTargetServer(Mail mail, String host) {
-        logger.info("No mail server found for: {}", host);
+        LOGGER.info("No mail server found for: {}", host);
         MessagingException messagingException = new MessagingException("There are no DNS entries for the hostname " + host + ".  I cannot determine where to send this message.");
         int retry = DeliveryRetriesHelper.retrieveRetries(mail);
         if (retry >= configuration.getDnsProblemRetry()) {
@@ -249,10 +249,10 @@ public class MailDelivrer {
         if (configuration.isDebug()) {
             EnhancedMessagingException enhancedMessagingException = new EnhancedMessagingException(sfe);
             if (enhancedMessagingException.hasReturnCode()) {
-                logger.info("SMTP SEND FAILED: Command [{}] RetCode: [{}] Response[{}]", enhancedMessagingException.computeCommand(),
+                LOGGER.info("SMTP SEND FAILED: Command [{}] RetCode: [{}] Response[{}]", enhancedMessagingException.computeCommand(),
                     enhancedMessagingException.getReturnCode(), sfe.getMessage());
             } else {
-                logger.info("Send failed", sfe);
+                LOGGER.info("Send failed", sfe);
             }
             logLevels(sfe);
         }
@@ -264,7 +264,7 @@ public class MailDelivrer {
             me = (MessagingException) ne;
             EnhancedMessagingException enhancedMessagingException = new EnhancedMessagingException(me);
             if (me.getClass().getName().endsWith(".SMTPAddressFailedException") || me.getClass().getName().endsWith(".SMTPAddressSucceededException")) {
-                logger.debug("ADDRESS :[{}] Address:[{}] Command : [{}] RetCode[{}] Response [{}]",
+                LOGGER.debug("ADDRESS :[{}] Address:[{}] Command : [{}] RetCode[{}] Response [{}]",
                     enhancedMessagingException.computeAction(), me.toString(), enhancedMessagingException.computeAddress(),
                     enhancedMessagingException.computeCommand(), enhancedMessagingException.getReturnCode());
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerToHost.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerToHost.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerToHost.java
index a6ffbad..e685437 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerToHost.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerToHost.java
@@ -31,28 +31,28 @@ import org.apache.mailet.HostAddress;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetContext;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.sun.mail.smtp.SMTPTransport;
 
 @SuppressWarnings("deprecation")
 public class MailDelivrerToHost {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MailDelivrerToHost.class);
     public static final String BIT_MIME_8 = "8BITMIME";
 
     private final RemoteDeliveryConfiguration configuration;
     private final Converter7Bit converter7Bit;
     private final Session session;
-    private final Logger logger;
 
-    public MailDelivrerToHost(RemoteDeliveryConfiguration remoteDeliveryConfiguration, MailetContext mailetContext, Logger logger) {
+    public MailDelivrerToHost(RemoteDeliveryConfiguration remoteDeliveryConfiguration, MailetContext mailetContext) {
         this.configuration = remoteDeliveryConfiguration;
         this.converter7Bit = new Converter7Bit(mailetContext);
         this.session = Session.getInstance(configuration.createFinalJavaxProperties());
-        this.logger = logger;
     }
 
     public ExecutionResult tryDeliveryToHost(Mail mail, InternetAddress[] addr, HostAddress outgoingMailServer) throws MessagingException {
         Properties props = getPropertiesForMail(mail);
-        logger.debug("Attempting delivery of {} to host {} at {} from {}",
+        LOGGER.debug("Attempting delivery of {} to host {} at {} from {}",
             mail.getName(), outgoingMailServer.getHostName(), outgoingMailServer.getHost(), props.get("mail.smtp.from"));
 
         // Many of these properties are only in later JavaMail versions
@@ -67,7 +67,7 @@ public class MailDelivrerToHost {
             transport.setLocalHost( props.getProperty("mail.smtp.localhost", configuration.getHeloNameProvider().getHeloName()) );
             connect(outgoingMailServer, transport);
             transport.sendMessage(adaptToTransport(mail.getMessage(), transport), addr);
-            logger.debug("Mail ({})  sent successfully to {} at {} from {} for {}", mail.getName(), outgoingMailServer.getHostName(),
+            LOGGER.debug("Mail ({})  sent successfully to {} at {} from {} for {}", mail.getName(), outgoingMailServer.getHostName(),
                 outgoingMailServer.getHost(), props.get("mail.smtp.from"), mail.getRecipients());
         } finally {
             closeTransport(mail, outgoingMailServer, transport);
@@ -99,7 +99,7 @@ public class MailDelivrerToHost {
             try {
                 converter7Bit.convertTo7Bit(message);
             } catch (IOException e) {
-                logger.error("Error during the conversion to 7 bit.", e);
+                LOGGER.error("Error during the conversion to 7 bit.", e);
             }
         }
         return message;
@@ -124,7 +124,7 @@ public class MailDelivrerToHost {
                 // of the mail transaction (MAIL, RCPT, DATA).
                 transport.close();
             } catch (MessagingException e) {
-                logger.error("Warning: could not close the SMTP transport after sending mail ({}) to {} at {} for {}; " +
+                LOGGER.error("Warning: could not close the SMTP transport after sending mail ({}) to {} at {} for {}; " +
                         "probably the server has already closed the connection. Message is considered to be delivered. Exception: {}",
                     mail.getName(), outgoingMailServer.getHostName(), outgoingMailServer.getHost(), mail.getRecipients(), e.getMessage());
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/16b36cbd/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java
index dd05c7c..6ec50e4 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java
@@ -26,26 +26,23 @@ import javax.mail.internet.InternetAddress;
 
 import org.apache.mailet.base.MailAddressFixture;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class AddressesArrayToMailAddressListConverterTest {
-    private static final Logger LOGGER = LoggerFactory.getLogger(AddressesArrayToMailAddressListConverterTest.class);
 
     @Test
     public void getAddressesAsMailAddressShouldReturnEmptyOnNull() {
-        assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(null, LOGGER)).isEmpty();
+        assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(null)).isEmpty();
     }
 
     @Test
     public void getAddressesAsMailAddressShouldReturnEmptyOnEmpty() {
-        assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(new Address[]{}, LOGGER)).isEmpty();
+        assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(new Address[]{})).isEmpty();
     }
 
     @Test
     public void getAddressesAsMailAddressShouldWorkWithSingleValue() throws Exception {
         assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(new Address[]{
-            new InternetAddress(MailAddressFixture.ANY_AT_JAMES.toString())}, LOGGER))
+            new InternetAddress(MailAddressFixture.ANY_AT_JAMES.toString())}))
             .containsOnly(MailAddressFixture.ANY_AT_JAMES);
     }
 
@@ -53,7 +50,7 @@ public class AddressesArrayToMailAddressListConverterTest {
     public void getAddressesAsMailAddressShouldWorkWithTwoValues() throws Exception {
         assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(new Address[]{
             new InternetAddress(MailAddressFixture.ANY_AT_JAMES.toString()),
-            new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.toString())}, LOGGER))
+            new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.toString())}))
             .containsOnly(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org