JAMES-2199 Guard potentially expensive logger calls by checks that logging is enabled
These changes were suggested by SLF4J Helper for NetBeans IDE: http://plugins.netbeans.org/plugin/72557/ Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b329974d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b329974d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b329974d Branch: refs/heads/master Commit: b329974d864c764a106ed74a0273f481e9737a12 Parents: c200829 Author: Daniel Trebbien <[email protected]> Authored: Thu Oct 19 21:52:11 2017 -0500 Committer: Antoine Duprat <[email protected]> Committed: Mon Dec 18 20:31:49 2017 +0100 ---------------------------------------------------------------------- .../james/ai/classic/BayesianAnalysis.java | 4 +- .../james/transport/mailets/AbstractSign.java | 2 +- .../james/transport/mailets/HeadersToHTTP.java | 12 +- .../james/transport/mailets/LogMessage.java | 4 +- .../transport/mailets/SerialiseToHTTP.java | 18 +-- .../james/transport/mailets/LogMessageTest.java | 22 ++-- .../AbstractMessageRangeProcessor.java | 4 +- .../james/imap/processor/StoreProcessor.java | 4 +- .../imap/processor/fetch/FetchProcessor.java | 4 +- .../repository/file/AbstractFileRepository.java | 2 +- .../transport/mailets/BayesianAnalysis.java | 4 +- .../james/transport/mailets/DSNBounce.java | 2 +- .../mailets/delivery/SimpleMailStore.java | 4 +- .../mailets/jsieve/delivery/SieveExecutor.java | 14 ++- .../mailets/redirect/MailModifier.java | 4 +- .../mailets/redirect/ProcessRedirectNotify.java | 2 +- .../samples/mailets/InstrumentationMailet.java | 117 ++++++++++--------- .../james/jmap/AuthenticationServlet.java | 4 +- 18 files changed, 132 insertions(+), 95 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java ---------------------------------------------------------------------- diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java index 8aa08ad..bc9bc5e 100644 --- a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java +++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java @@ -321,7 +321,9 @@ public class BayesianAnalysis extends GenericMailet { } if (probability > 0.1) { final Collection<MailAddress> recipients = mail.getRecipients(); - LOGGER.debug(headerName + ": " + probabilityString + "; From: " + senderString + "; Recipient(s): " + getAddressesString(recipients)); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug(headerName + ": " + probabilityString + "; From: " + senderString + "; Recipient(s): " + getAddressesString(recipients)); + } // Check if we should tag the subject if (tagSubject) { http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java ---------------------------------------------------------------------- diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java index a019526..c4fbc24 100644 --- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java +++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java @@ -227,7 +227,7 @@ public abstract class AbstractSign extends GenericMailet { */ protected void initExplanationText() { setExplanationText(getInitParameter("explanationText")); - if (isDebug()) { + if (isDebug() && LOGGER.isDebugEnabled()) { LOGGER.debug("Explanation text:\r\n" + getExplanationText()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java index a575b35..578dd37 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java @@ -93,11 +93,13 @@ public class HeadersToHTTP extends GenericMailet { } // record the result - LOGGER.debug("I will attempt to deliver serialised messages to " - + targetUrl - + ". " - + ( ((parameterKey==null) || (parameterKey.length()<1)) ? "I will not add any fields to the post. " : "I will prepend: " + parameterKey + "=" + parameterValue + ". ") - + (passThrough ? "Messages will pass through." : "Messages will be ghosted.")); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("I will attempt to deliver serialised messages to " + + targetUrl + + ". " + + ( ((parameterKey==null) || (parameterKey.length()<1)) ? "I will not add any fields to the post. " : "I will prepend: " + parameterKey + "=" + parameterValue + ". ") + + (passThrough ? "Messages will pass through." : "Messages will be ghosted.")); + } } /** http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java index 4997a24..774817f 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java @@ -109,7 +109,7 @@ public class LogMessage extends GenericMailet { @SuppressWarnings("unchecked") private void logHeaders(MimeMessage message) throws MessagingException { - if (headers) { + if (headers && logger.isInfoEnabled()) { logger.info("\n"); for (String header : Collections.list((Enumeration<String>) message.getAllHeaderLines())) { logger.info(header + "\n"); @@ -118,7 +118,7 @@ public class LogMessage extends GenericMailet { } private void logBody(MimeMessage message) throws MessagingException, IOException { - if (body) { + if (body && logger.isInfoEnabled()) { InputStream inputStream = ByteStreams.limit(message.getRawInputStream(), lengthToLog(message)); logger.info(IOUtils.toString(inputStream, Charsets.UTF_8)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java index 8c2dfdc..abe6169 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java @@ -99,14 +99,16 @@ public class SerialiseToHTTP extends GenericMailet { } // record the result - LOGGER.debug("I will attempt to deliver serialised messages to " - + targetUrl - + " as " - + messageKeyName - + ". " - + (parameterKey==null || parameterKey.length()<2 ? "I will not add any fields to the post. " : "I will prepend: " + parameterKey + "=" + parameterValue + ". ") - + (passThrough ? "Messages will pass through." - : "Messages will be ghosted.")); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("I will attempt to deliver serialised messages to " + + targetUrl + + " as " + + messageKeyName + + ". " + + (parameterKey==null || parameterKey.length()<2 ? "I will not add any fields to the post. " : "I will prepend: " + parameterKey + "=" + parameterValue + ". ") + + (passThrough ? "Messages will pass through." + : "Messages will be ghosted.")); + } } /** http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java index beb7db6..6631d40 100644 --- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java +++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java @@ -23,6 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; @@ -61,6 +62,7 @@ public class LogMessageTest { @Before public void setup() { logger = mock(Logger.class); + when(logger.isInfoEnabled()).thenReturn(true); mailContext = FakeMailContext.builder() .logger(logger) .build(); @@ -97,7 +99,8 @@ public class LogMessageTest { .mimeMessage(message) .build()); - verify(logger).info("Logging mail null"); + verify(logger).info("Logging mail {}", (Object) null); + verify(logger, times(2)).isInfoEnabled(); verify(logger).info("\n"); verify(logger).info("Subject: subject\n"); verify(logger).error(eq("Error logging message."), any(MessagingException.class)); @@ -114,7 +117,8 @@ public class LogMessageTest { mailet.service(createMail()); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); + verify(logger, times(2)).isInfoEnabled(); verify(logger).info("\n"); verify(logger).info("Subject: subject\n"); verify(logger).info("Content-Type: text/plain\n"); @@ -139,7 +143,7 @@ public class LogMessageTest { mailet.service(mail); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); verify(logger).error("Error logging message.", messagingException); verifyNoMoreInteractions(logger); } @@ -186,7 +190,8 @@ public class LogMessageTest { mailet.service(createMail()); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); + verify(logger).isInfoEnabled(); verify(logger).info("This is a fake mail"); verifyNoMoreInteractions(logger); } @@ -202,7 +207,8 @@ public class LogMessageTest { mailet.service(createMail()); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); + verify(logger).isInfoEnabled(); verify(logger).info("\n"); verify(logger).info("Subject: subject\n"); verify(logger).info("Content-Type: text/plain\n"); @@ -220,7 +226,8 @@ public class LogMessageTest { mailet.service(createMail()); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); + verify(logger, times(2)).isInfoEnabled(); verify(logger).info("\n"); verify(logger).info("Subject: subject\n"); verify(logger).info("Content-Type: text/plain\n"); @@ -239,8 +246,9 @@ public class LogMessageTest { mailet.service(createMail()); - verify(logger).info("Logging mail name"); + verify(logger).info("Logging mail {}", "name"); verify(logger).info("comment"); + verify(logger, times(2)).isInfoEnabled(); verify(logger).info("\n"); verify(logger).info("Subject: subject\n"); verify(logger).info("Content-Type: text/plain\n"); http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java index 3f4e09d..2c23e95 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java @@ -113,7 +113,9 @@ public abstract class AbstractMessageRangeProcessor<M extends AbstractMessageRan } taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET); } catch (MailboxException e) { - LOGGER.error(getOperationName() + " failed from mailbox " + currentMailbox.getPath() + " to " + targetMailbox + " for sequence-set " + ImmutableList.copyOf(idSet), e); + if (LOGGER.isErrorEnabled()) { + LOGGER.error(getOperationName() + " failed from mailbox " + currentMailbox.getPath() + " to " + targetMailbox + " for sequence-set " + ImmutableList.copyOf(idSet), e); + } no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java index 3936d71..698720f 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java @@ -221,7 +221,9 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> { } taggedBad(imapCommand, tag, responder, HumanReadableText.INVALID_MESSAGESET); } catch (MailboxException e) { - LOGGER.error("Store failed for mailbox " + session.getSelected().getPath() + " and sequence-set " + ImmutableList.copyOf(idSet), e); + if (LOGGER.isErrorEnabled()) { + LOGGER.error("Store failed for mailbox " + session.getSelected().getPath() + " and sequence-set " + ImmutableList.copyOf(idSet), e); + } no(imapCommand, tag, responder, HumanReadableText.SAVE_FAILED); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java index bb74ac9..c5644d7 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java @@ -138,7 +138,9 @@ public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> { } taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET); } catch (MailboxException e) { - LOGGER.error("Fetch failed for mailbox " + session.getSelected().getPath() + " and sequence-set " + ImmutableList.copyOf(idSet), e); + if (LOGGER.isErrorEnabled()) { + LOGGER.error("Fetch failed for mailbox " + session.getSelected().getPath() + " and sequence-set " + ImmutableList.copyOf(idSet), e); + } no(command, tag, responder, HumanReadableText.SEARCH_FAILED); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java index b876210..0e718c0 100644 --- a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java +++ b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java @@ -188,7 +188,7 @@ public abstract class AbstractFileRepository implements Repository, Configurable throw new RuntimeException("Cannot initialize child " + "repository " + childName + " : " + e); } - if (DEBUG) { + if (DEBUG && LOGGER.isDebugEnabled()) { LOGGER.debug("Child repository of " + m_name + " created in " + m_baseDirectory + File.pathSeparatorChar + childName + File.pathSeparator); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/BayesianAnalysis.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/BayesianAnalysis.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/BayesianAnalysis.java index 800cc26..07234e5 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/BayesianAnalysis.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/BayesianAnalysis.java @@ -327,7 +327,9 @@ public class BayesianAnalysis extends GenericMailet { senderString = mail.getSender().toString(); } if (probability > 0.1) { - LOGGER.debug(headerName + ": " + probabilityString + "; From: " + senderString + "; Recipient(s): " + getAddressesString(mail.getRecipients())); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug(headerName + ": " + probabilityString + "; From: " + senderString + "; Recipient(s): " + getAddressesString(mail.getRecipients())); + } // Check if we should tag the subject if (tagSubject) { http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java index d3413d5..a6133dc 100755 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java @@ -248,7 +248,7 @@ public class DSNBounce extends GenericMailet implements RedirectNotify { newMail.setRemoteAddr(getRemoteAddr()); newMail.setRecipients(getSenderAsList(originalMail)); - if (getInitParameters().isDebug()) { + if (getInitParameters().isDebug() && LOGGER.isDebugEnabled()) { LOGGER.debug("New mail - sender: " + newMail.getSender() + ", recipients: " + StringUtils.arrayToString(newMail.getRecipients().toArray()) + ", name: " + newMail.getName() + ", remoteHost: " + newMail.getRemoteHost() + ", remoteAddr: " + newMail.getRemoteAddr() + ", state: " + newMail.getState() + ", lastUpdated: " + newMail.getLastUpdated() + ", errorMessage: " + newMail.getErrorMessage()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java index 369a20d..762dbd1 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java @@ -110,7 +110,9 @@ public class SimpleMailStore implements MailStore { try { return usersRepository.getUser(recipient); } catch (UsersRepositoryException e) { - LOGGER.warn("Unable to retrieve username for " + recipient.asPrettyString(), e); + if (LOGGER.isWarnEnabled()) { + LOGGER.warn("Unable to retrieve username for " + recipient.asPrettyString(), e); + } return recipient.toString(); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java index 787eab1..470a7b1 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java @@ -124,10 +124,14 @@ public class SieveExecutor { sieveMessageEvaluate(recipient, aMail, userSieveInformation); return true; } catch (ScriptNotFoundException e) { - LOGGER.info("Can not locate SIEVE script for user " + recipient.asPrettyString()); + if (LOGGER.isInfoEnabled()) { + LOGGER.info("Can not locate SIEVE script for user " + recipient.asPrettyString()); + } return false; } catch (Exception ex) { - LOGGER.error("Cannot evaluate Sieve script for user " + recipient.asPrettyString(), ex); + if (LOGGER.isErrorEnabled()) { + LOGGER.error("Cannot evaluate Sieve script for user " + recipient.asPrettyString(), ex); + } return false; } } @@ -137,8 +141,10 @@ public class SieveExecutor { SieveMailAdapter aMailAdapter = new SieveMailAdapter(aMail, mailetContext, actionDispatcher, sievePoster, userSieveInformation.getScriptActivationDate(), userSieveInformation.getScriptInterpretationDate(), recipient); - // This logging operation is potentially costly - LOGGER.debug("Evaluating " + aMailAdapter.toString() + " against \"" + recipient.asPrettyString() + "\""); + if (LOGGER.isDebugEnabled()) { + // This logging operation is potentially costly + LOGGER.debug("Evaluating " + aMailAdapter.toString() + " against \"" + recipient.asPrettyString() + "\""); + } factory.evaluate(aMailAdapter, factory.parse(userSieveInformation.getScriptContent())); } catch (SieveException | ParseException ex) { handleFailure(recipient, aMail, ex); http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java index f3847e6..8962828 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java @@ -110,7 +110,9 @@ public class MailModifier { if (!recipients.isEmpty()) { mail.setRecipients(recipients); if (mailet.getInitParameters().isDebug()) { - LOGGER.debug("recipients set to: " + StringUtils.arrayToString(recipients.toArray())); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("recipients set to: " + StringUtils.arrayToString(recipients.toArray())); + } } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/ProcessRedirectNotify.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/ProcessRedirectNotify.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/ProcessRedirectNotify.java index 7e4e297..6b888db 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/ProcessRedirectNotify.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/ProcessRedirectNotify.java @@ -57,7 +57,7 @@ public class ProcessRedirectNotify { mailModifier.setRemoteAddr(); mailModifier.setRemoteHost(); - if (mailet.getInitParameters().isDebug()) { + if (mailet.getInitParameters().isDebug() && LOGGER.isDebugEnabled()) { LOGGER.debug("New mail - sender: " + newMail.getSender() + ", recipients: " + StringUtils.arrayToString(newMail.getRecipients().toArray()) + ", name: " + newMail.getName() + ", remoteHost: " + newMail.getRemoteHost() + ", remoteAddr: " + newMail.getRemoteAddr() + ", state: " + newMail.getState() + ", lastUpdated: " + newMail.getLastUpdated() + ", errorMessage: " + newMail.getErrorMessage()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/mailet/mailets/src/test/java/org/apache/james/samples/mailets/InstrumentationMailet.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/samples/mailets/InstrumentationMailet.java b/server/mailet/mailets/src/test/java/org/apache/james/samples/mailets/InstrumentationMailet.java index 1515afd..2a5ccdd 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/samples/mailets/InstrumentationMailet.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/samples/mailets/InstrumentationMailet.java @@ -76,76 +76,79 @@ public class InstrumentationMailet implements Mailet { MimeMessage message = mail.getMessage(); - LOGGER.info("Mail named: " + mail.getName()); + if (LOGGER.isInfoEnabled()) { + LOGGER.info("Mail named: " + mail.getName()); - for (Iterator<String> it = mail.getAttributeNames(); it.hasNext();) { - String attributeName = it.next(); - LOGGER.info("Attribute " + attributeName); - } - LOGGER.info("Message size: " + mail.getMessageSize()); - LOGGER.info("Last updated: " + mail.getLastUpdated()); - LOGGER.info("Remote Address: " + mail.getRemoteAddr()); - LOGGER.info("Remote Host: " + mail.getRemoteHost()); - LOGGER.info("State: " + mail.getState()); - LOGGER.info("Sender host: " + mail.getSender().getDomain()); - LOGGER.info("Sender user: " + mail.getSender().getLocalPart()); - Collection<MailAddress> recipients = mail.getRecipients(); - for (MailAddress address : recipients) { - LOGGER.info("Recipient: " + address.getLocalPart() + "@" + address.getDomain()); - } - - LOGGER.info("Subject: " + message.getSubject()); - LOGGER.info("MessageID: " + message.getMessageID()); - LOGGER.info("Received: " + message.getReceivedDate()); - LOGGER.info("Sent: " + message.getSentDate()); + for (Iterator<String> it = mail.getAttributeNames(); it.hasNext();) { + String attributeName = it.next(); + LOGGER.info("Attribute " + attributeName); + } + LOGGER.info("Message size: " + mail.getMessageSize()); + LOGGER.info("Last updated: " + mail.getLastUpdated()); + LOGGER.info("Remote Address: " + mail.getRemoteAddr()); + LOGGER.info("Remote Host: " + mail.getRemoteHost()); + LOGGER.info("State: " + mail.getState()); + LOGGER.info("Sender host: " + mail.getSender().getDomain()); + LOGGER.info("Sender user: " + mail.getSender().getLocalPart()); + Collection<MailAddress> recipients = mail.getRecipients(); + for (MailAddress address : recipients) { + LOGGER.info("Recipient: " + address.getLocalPart() + "@" + address.getDomain()); + } - @SuppressWarnings("unchecked") - Enumeration<String> allHeadersLines = message.getAllHeaderLines(); - while (allHeadersLines.hasMoreElements()) { - String header = (String) allHeadersLines.nextElement(); - LOGGER.info("Header Line:= " + header); - } + LOGGER.info("Subject: " + message.getSubject()); + LOGGER.info("MessageID: " + message.getMessageID()); + LOGGER.info("Received: " + message.getReceivedDate()); + LOGGER.info("Sent: " + message.getSentDate()); - @SuppressWarnings("unchecked") - Enumeration<Header> allHeadersEnumeration = message.getAllHeaders(); - while (allHeadersEnumeration.hasMoreElements()) { - Header header = (Header) allHeadersEnumeration.nextElement(); - LOGGER.info("Header: " + header.getName() + "=" + header.getValue()); - } + @SuppressWarnings("unchecked") + Enumeration<String> allHeadersLines = message.getAllHeaderLines(); + while (allHeadersLines.hasMoreElements()) { + String header = allHeadersLines.nextElement(); + LOGGER.info("Header Line:= " + header); + } - Address[] to = message.getRecipients(RecipientType.TO); - printAddresses(to, "TO: "); - Address[] cc = message.getRecipients(RecipientType.CC); - printAddresses(cc, "CC: "); - Address[] bcc = message.getRecipients(RecipientType.BCC); - printAddresses(bcc, "BCC: "); - - Flags flags = message.getFlags(); - Flag[] systemFlags = flags.getSystemFlags(); - for (Flag systemFlag : systemFlags) { - LOGGER.info("System Flag:" + systemFlag); - } - String[] userFlags = flags.getUserFlags(); - for (String userFlag : userFlags) { - LOGGER.info("User flag: " + userFlag); - } + @SuppressWarnings("unchecked") + Enumeration<Header> allHeadersEnumeration = message.getAllHeaders(); + while (allHeadersEnumeration.hasMoreElements()) { + Header header = allHeadersEnumeration.nextElement(); + LOGGER.info("Header: " + header.getName() + "=" + header.getValue()); + } - String mimeType = message.getContentType(); - LOGGER.info("Mime type: " + mimeType); - if ("text/plain".equals(mimeType)) { - try { - Object content = message.getContent(); - LOGGER.info("Content: " + content); - } catch (IOException e) { - e.printStackTrace(); + Address[] to = message.getRecipients(RecipientType.TO); + printAddresses(to, "TO: "); + Address[] cc = message.getRecipients(RecipientType.CC); + printAddresses(cc, "CC: "); + Address[] bcc = message.getRecipients(RecipientType.BCC); + printAddresses(bcc, "BCC: "); + + Flags flags = message.getFlags(); + Flag[] systemFlags = flags.getSystemFlags(); + for (Flag systemFlag : systemFlags) { + LOGGER.info("System Flag:" + systemFlag); } + String[] userFlags = flags.getUserFlags(); + for (String userFlag : userFlags) { + LOGGER.info("User flag: " + userFlag); + } + + String mimeType = message.getContentType(); + LOGGER.info("Mime type: " + mimeType); + if ("text/plain".equals(mimeType)) { + try { + Object content = message.getContent(); + LOGGER.info("Content: " + content); + } catch (IOException e) { + e.printStackTrace(); + } + } } LOGGER.info(""); LOGGER.info("######## MAIL ENDS"); } + @SuppressWarnings("Slf4jStringConcat") private void printAddresses(Address[] addresses, String prefix) { for (Address address1 : addresses) { if (address1 instanceof InternetAddress) { http://git-wip-us.apache.org/repos/asf/james-project/blob/b329974d/server/protocols/jmap/src/main/java/org/apache/james/jmap/AuthenticationServlet.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/AuthenticationServlet.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/AuthenticationServlet.java index 0d9b89a..c5a7cc1 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/AuthenticationServlet.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/AuthenticationServlet.java @@ -154,7 +154,9 @@ public class AuthenticationServlet extends HttpServlet { returnRestartAuthentication(resp); break; case INVALID: - LOG.warn("Use of an invalid ContinuationToken : " + request.getToken().serialize()); + if (LOG.isWarnEnabled()) { + LOG.warn("Use of an invalid ContinuationToken : " + request.getToken().serialize()); + } returnUnauthorizedResponse(resp); break; case OK: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
