Index: processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java =================================================================== --- processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java (revision 1074121) +++ processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java (working copy) @@ -30,12 +30,12 @@ import javax.mail.Flags; -import org.apache.commons.logging.Log; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxPath; import org.apache.james.mailbox.MailboxSession; import org.junit.Before; import org.junit.Test; +import org.slf4j.Logger; public class MailboxEventAnalyserTest { @@ -67,7 +67,7 @@ return null; } - public Log getLog() { + public Logger getLog() { return null; } Index: processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java (working copy) @@ -25,7 +25,6 @@ import java.util.ArrayList; import java.util.List; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.message.response.FetchResponse; import org.apache.james.mailbox.Headers; @@ -38,11 +37,12 @@ import org.apache.james.mime4j.field.address.MailboxList; import org.apache.james.mime4j.field.address.parser.ParseException; import org.apache.james.mime4j.util.MimeUtil; +import org.slf4j.Logger; final class EnvelopeBuilder { - private final Log logger; + private final Logger logger; - public EnvelopeBuilder(final Log logger) { + public EnvelopeBuilder(final Logger logger) { super(); this.logger = logger; } Index: processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java (working copy) @@ -229,8 +229,8 @@ private void handleResponseException(final ImapProcessor.Responder responder, MailboxException e, final HumanReadableText message, ImapSession session) { - session.getLog().info(message); - session.getLog().debug(message, e); + session.getLog().info(message.toString()); + session.getLog().debug(message.toString(), e); // TODO: consider whether error message should be passed to the user final StatusResponse response = factory.untaggedNo(message);; responder.respond(response); Index: processor/src/main/java/org/apache/james/imap/processor/StatusProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/StatusProcessor.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/StatusProcessor.java (working copy) @@ -19,7 +19,6 @@ package org.apache.james.imap.processor; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapSessionUtils; import org.apache.james.imap.api.display.HumanReadableText; @@ -34,6 +33,7 @@ import org.apache.james.mailbox.MailboxPath; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageManager; +import org.slf4j.Logger; public class StatusProcessor extends AbstractMailboxProcessor { @@ -51,7 +51,7 @@ String tag, ImapCommand command, Responder responder) { final MailboxPath mailboxPath = buildFullPath(session, request.getMailboxName()); final StatusDataItems statusDataItems = request.getStatusDataItems(); - final Log logger = session.getLog(); + final Logger logger = session.getLog(); final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session); try { Index: processor/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java (working copy) @@ -19,7 +19,6 @@ package org.apache.james.imap.processor; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapSessionUtils; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.ImapSession; @@ -28,6 +27,7 @@ import org.apache.james.mailbox.MailboxException; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxSession; +import org.slf4j.Logger; /** * Processes system messages unrelated to IMAP. @@ -52,7 +52,7 @@ break; } } catch (MailboxException e) { - final Log log = session.getLog(); + final Logger log = session.getLog(); log.warn("Force logout failed " + e.getMessage()); log.debug("Cannot force logout", e); } Index: processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java (working copy) @@ -25,7 +25,6 @@ import javax.mail.Flags; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapSessionUtils; import org.apache.james.imap.api.display.HumanReadableText; @@ -44,6 +43,7 @@ import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageManager; import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup; +import org.slf4j.Logger; public class AppendProcessor extends AbstractMailboxProcessor { @@ -107,7 +107,7 @@ private void tryCreate(ImapSession session, String tag, ImapCommand command, Responder responder, MailboxNotFoundException e) { - final Log logger = session.getLog(); + final Logger logger = session.getLog(); if (logger.isDebugEnabled()) { logger.debug("Cannot open mailbox: ", e); } Index: processor/src/main/java/org/apache/james/imap/processor/base/UnknownRequestProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/base/UnknownRequestProcessor.java (revision 1074121) +++ processor/src/main/java/org/apache/james/imap/processor/base/UnknownRequestProcessor.java (working copy) @@ -19,7 +19,6 @@ package org.apache.james.imap.processor.base; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.display.HumanReadableText; @@ -28,6 +27,7 @@ import org.apache.james.imap.api.message.response.StatusResponseFactory; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.ImapSession; +import org.slf4j.Logger; public class UnknownRequestProcessor implements ImapProcessor { @@ -39,7 +39,7 @@ } public ImapResponseMessage process(ImapMessage message, ImapSession session) { - Log logger = session.getLog(); + Logger logger = session.getLog(); if (logger != null && logger.isDebugEnabled()) { logger.debug("Unknown message: " + message); } Index: processor/pom.xml =================================================================== --- processor/pom.xml (revision 1075120) +++ processor/pom.xml (working copy) @@ -61,8 +61,8 @@ ${javax.mail.artifactId} - commons-logging - commons-logging + org.slf4j + slf4j-api junit Index: message/src/test/java/org/apache/james/imap/decode/parser/MockLogger.java =================================================================== --- message/src/test/java/org/apache/james/imap/decode/parser/MockLogger.java (revision 1074121) +++ message/src/test/java/org/apache/james/imap/decode/parser/MockLogger.java (working copy) @@ -22,78 +22,205 @@ */ package org.apache.james.imap.decode.parser; -import org.apache.commons.logging.Log; +import org.slf4j.Logger; +import org.slf4j.Marker; -final class MockLogger implements Log { - public void debug(Object arg0) { + +final class MockLogger implements Logger { + + public void debug(Marker arg0, String arg1, Object arg2, Object arg3) { } - public void debug(Object arg0, Throwable arg1) { + public void debug(Marker arg0, String arg1, Object arg2) { } - public void error(Object arg0) { + public void debug(Marker arg0, String arg1, Object[] arg2) { } - public void error(Object arg0, Throwable arg1) { + public void debug(Marker arg0, String arg1, Throwable arg2) { } - public void fatalError(Object arg0) { + public void debug(Marker arg0, String arg1) { } - public void fatalError(Object arg0, Throwable arg1) { + public void debug(String arg0, Object arg1, Object arg2) { } - public void info(Object arg0) { + public void debug(String arg0, Object arg1) { } - public void info(Object arg0, Throwable arg1) { + public void debug(String arg0, Object[] arg1) { } + public void debug(String arg0, Throwable arg1) { + } + + public void debug(String arg0) { + } + + public void error(Marker arg0, String arg1, Object arg2, Object arg3) { + } + + public void error(Marker arg0, String arg1, Object arg2) { + } + + public void error(Marker arg0, String arg1, Object[] arg2) { + } + + public void error(Marker arg0, String arg1, Throwable arg2) { + } + + public void error(Marker arg0, String arg1) { + } + + public void error(String arg0, Object arg1, Object arg2) { + } + + public void error(String arg0, Object arg1) { + } + + public void error(String arg0, Object[] arg1) { + } + + public void error(String arg0, Throwable arg1) { + } + + public void error(String arg0) { + } + + public String getName() { + // TODO Auto-generated method stub + return null; + } + + public void info(Marker arg0, String arg1, Object arg2, Object arg3) { + } + + public void info(Marker arg0, String arg1, Object arg2) { + } + + public void info(Marker arg0, String arg1, Object[] arg2) { + } + + public void info(Marker arg0, String arg1, Throwable arg2) { + } + + public void info(Marker arg0, String arg1) { + } + + public void info(String arg0, Object arg1, Object arg2) { + } + + public void info(String arg0, Object arg1) { + } + + public void info(String arg0, Object[] arg1) { + } + + public void info(String arg0, Throwable arg1) { + } + + public void info(String arg0) { + } + public boolean isDebugEnabled() { - return false; + return false; } + public boolean isDebugEnabled(Marker arg0) { + return false; + } + public boolean isErrorEnabled() { - return false; + return false; } - public boolean isFatalErrorEnabled() { - return false; + public boolean isErrorEnabled(Marker arg0) { + return false; } public boolean isInfoEnabled() { - return false; + return false; } + public boolean isInfoEnabled(Marker arg0) { + return false; + } + + public boolean isTraceEnabled() { + return false; + } + + public boolean isTraceEnabled(Marker arg0) { + return false; + } + public boolean isWarnEnabled() { - return false; + return false; } - public void warn(Object arg0) { + public boolean isWarnEnabled(Marker arg0) { + return false; + } + public void trace(Marker arg0, String arg1, Object arg2, Object arg3) { } - public void warn(Object arg0, Throwable arg1) { + public void trace(Marker arg0, String arg1, Object arg2) { + } + public void trace(Marker arg0, String arg1, Object[] arg2) { } - public void fatal(Object arg0) { + public void trace(Marker arg0, String arg1, Throwable arg2) { } - public void fatal(Object arg0, Throwable arg1) { + public void trace(Marker arg0, String arg1) { } - public boolean isFatalEnabled() { - return false; + public void trace(String arg0, Object arg1, Object arg2) { } - public boolean isTraceEnabled() { - return false; + public void trace(String arg0, Object arg1) { } - public void trace(Object arg0) { + public void trace(String arg0, Object[] arg1) { } - public void trace(Object arg0, Throwable arg1) { + public void trace(String arg0, Throwable arg1) { } + + public void trace(String arg0) { + } + + public void warn(Marker arg0, String arg1, Object arg2, Object arg3) { + } + + public void warn(Marker arg0, String arg1, Object arg2) { + } + + public void warn(Marker arg0, String arg1, Object[] arg2) { + } + + public void warn(Marker arg0, String arg1, Throwable arg2) { + } + + public void warn(Marker arg0, String arg1) { + } + + public void warn(String arg0, Object arg1, Object arg2) { + } + + public void warn(String arg0, Object arg1) { + } + + public void warn(String arg0, Object[] arg1) { + } + + public void warn(String arg0, Throwable arg1) { + } + + public void warn(String arg0) { + } + } \ No newline at end of file Index: message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java =================================================================== --- message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java (revision 1074121) +++ message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java (working copy) @@ -21,16 +21,16 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.james.imap.api.ImapSessionState; import org.apache.james.imap.api.process.ImapLineHandler; import org.apache.james.imap.api.process.ImapSession; import org.apache.james.imap.api.process.SelectedMailbox; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class FakeImapSession implements ImapSession { - private static final Log LOG = LogFactory.getLog(FakeImapSession.class); + private static final Logger LOG = LoggerFactory.getLogger(FakeImapSession.class); private ImapSessionState state = ImapSessionState.NON_AUTHENTICATED; @@ -90,7 +90,7 @@ } } - public Log getLog() { + public Logger getLog() { return LOG; } Index: message/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java =================================================================== --- message/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java (working copy) @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.james.imap.decode.main; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.ImapSessionState; import org.apache.james.imap.api.display.HumanReadableText; @@ -29,6 +28,7 @@ import org.apache.james.imap.decode.ImapDecoder; import org.apache.james.imap.decode.ImapRequestLineReader; import org.apache.james.imap.decode.DecodingException; +import org.slf4j.Logger; /** * {@link ImapDecoder} implementation which parse the data via lookup the right {@link ImapCommandParser} via an {@link ImapCommandParserFactory}. The @@ -64,7 +64,7 @@ */ public ImapMessage decode(ImapRequestLineReader request, ImapSession session) { ImapMessage message; - final Log logger = session.getLog(); + final Logger logger = session.getLog(); try { final String tag = request.tag(); Index: message/src/main/java/org/apache/james/imap/decode/parser/AppendCommandParser.java =================================================================== --- message/src/main/java/org/apache/james/imap/decode/parser/AppendCommandParser.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/decode/parser/AppendCommandParser.java (working copy) @@ -73,7 +73,7 @@ /* * (non-Javadoc) - * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.commons.logging.Log, org.apache.james.imap.api.process.ImapSession) + * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.james.imap.api.process.ImapSession) */ protected ImapMessage decode(ImapCommand command, ImapRequestLineReader request, String tag, ImapSession session) throws DecodingException { Index: message/src/main/java/org/apache/james/imap/decode/parser/CheckCommandParser.java =================================================================== --- message/src/main/java/org/apache/james/imap/decode/parser/CheckCommandParser.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/decode/parser/CheckCommandParser.java (working copy) @@ -40,7 +40,7 @@ /* * (non-Javadoc) - * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.commons.logging.Log, org.apache.james.imap.api.process.ImapSession) + * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.james.imap.api.process.ImapSession) */ protected ImapMessage decode(ImapCommand command, ImapRequestLineReader request, String tag, ImapSession session) throws DecodingException { Index: message/src/main/java/org/apache/james/imap/decode/parser/StartTLSCommandParser.java =================================================================== --- message/src/main/java/org/apache/james/imap/decode/parser/StartTLSCommandParser.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/decode/parser/StartTLSCommandParser.java (working copy) @@ -39,7 +39,7 @@ /* * (non-Javadoc) - * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.commons.logging.Log, org.apache.james.imap.api.process.ImapSession) + * @see org.apache.james.imap.decode.base.AbstractImapCommandParser#decode(org.apache.james.imap.api.ImapCommand, org.apache.james.imap.decode.ImapRequestLineReader, java.lang.String, org.apache.james.imap.api.process.ImapSession) */ protected ImapMessage decode(ImapCommand command, ImapRequestLineReader request, String tag, ImapSession session) throws DecodingException { request.eol(); Index: message/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java =================================================================== --- message/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java (working copy) @@ -21,7 +21,6 @@ import java.io.IOException; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.message.response.ImapResponseMessage; import org.apache.james.imap.api.process.ImapProcessor; @@ -32,6 +31,7 @@ import org.apache.james.imap.decode.ImapRequestLineReader; import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; +import org.slf4j.Logger; public abstract class AbstractImapRequestHandler { @@ -70,7 +70,7 @@ result = true; } else { result = false; - final Log logger = session.getLog(); + final Logger logger = session.getLog(); logger.info(failure.getMessage()); if (logger.isDebugEnabled()) { logger.debug("Failed to write " + message, failure); Index: message/src/main/java/org/apache/james/imap/main/ContextualLog.java =================================================================== --- message/src/main/java/org/apache/james/imap/main/ContextualLog.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/main/ContextualLog.java (working copy) @@ -18,98 +18,80 @@ ****************************************************************/ package org.apache.james.imap.main; -import org.apache.commons.logging.Log; +import org.slf4j.Logger; +import org.slf4j.Marker; /** * Decorates a log adding contextual information. */ -public class ContextualLog implements Log { +public class ContextualLog implements Logger { private final Object context; - private final Log decoratedLog; + private final Logger decoratedLog; - public ContextualLog(final Object context, final Log decoratedLog) { + public ContextualLog(final Object context, final Logger decoratedLog) { super(); this.context = context; this.decoratedLog = decoratedLog; } - public void debug(Object message) { + + public void debug(String message) { if (isDebugEnabled()) { if (context == null) { decoratedLog.debug(message); } else { - decoratedLog.debug(new Message(context, message)); + decoratedLog.debug(new Message(context, message).toString()); } } } - public void debug(Object message, Throwable t) { + public void debug(String message, Throwable t) { if (isDebugEnabled()) { if (context == null) { decoratedLog.debug(message, t); } else { - decoratedLog.debug(new Message(context, message), t); + decoratedLog.debug(new Message(context, message).toString(), t); } } } - public void error(Object message) { + public void error(String message) { if (isErrorEnabled()) { if (context == null) { decoratedLog.error(message); } else { - decoratedLog.error(new Message(context, message)); + decoratedLog.error(new Message(context, message).toString()); } } } - public void error(Object message, Throwable t) { + public void error(String message, Throwable t) { if (isErrorEnabled()) { if (context == null) { decoratedLog.error(message, t); } else { - decoratedLog.error(new Message(context, message), t); + decoratedLog.error(new Message(context, message).toString(), t); } } } - public void fatal(Object message) { - if (isFatalEnabled()) { - if (context == null) { - decoratedLog.fatal(message); - } else { - decoratedLog.fatal(new Message(context, message)); - } - } - } - - public void fatal(Object message, Throwable t) { - if (isFatalEnabled()) { - if (context == null) { - decoratedLog.fatal(message, t); - } else { - decoratedLog.fatal(new Message(context, message), t); - } - } - } - - public void info(Object message) { + public void info(String message) { if (isInfoEnabled()) { if (context == null) { decoratedLog.info(message); } else { - decoratedLog.info(new Message(context, message)); + decoratedLog.info(new Message(context, message).toString()); } } } - public void info(Object message, Throwable t) { + public void info(String message, Throwable t) { if (isInfoEnabled()) { if (context == null) { decoratedLog.info(message, t); } else { - decoratedLog.info(new Message(context, message), t); + decoratedLog.info(new Message(context, message).toString(), t); } } } @@ -122,10 +104,6 @@ return decoratedLog.isErrorEnabled(); } - public boolean isFatalEnabled() { - return decoratedLog.isFatalEnabled(); - } - public boolean isInfoEnabled() { return decoratedLog.isInfoEnabled(); } @@ -138,42 +116,42 @@ return decoratedLog.isWarnEnabled(); } - public void trace(Object message) { + public void trace(String message) { if (isTraceEnabled()) { if (context == null) { decoratedLog.trace(message); } else { - decoratedLog.trace(new Message(context, message)); + decoratedLog.trace(new Message(context, message).toString()); } } } - public void trace(Object message, Throwable t) { + public void trace(String message, Throwable t) { if (isTraceEnabled()) { if (context == null) { decoratedLog.trace(message, t); } else { - decoratedLog.trace(new Message(context, message), t); + decoratedLog.trace(new Message(context, message).toString(), t); } } } - public void warn(Object message) { + public void warn(String message) { if (isWarnEnabled()) { if (context == null) { decoratedLog.warn(message); } else { - decoratedLog.warn(new Message(context, message)); + decoratedLog.warn(new Message(context, message).toString()); } } } - public void warn(Object message, Throwable t) { + public void warn(String message, Throwable t) { if (isWarnEnabled()) { if (context == null) { decoratedLog.warn(message, t); } else { - decoratedLog.warn(new Message(context, message), t); + decoratedLog.warn(new Message(context, message).toString(), t); } } } @@ -220,4 +198,474 @@ return context + " " + message; } } + + public String getName() { + return decoratedLog.getName(); + } + + + public void trace(String message, Object arg) { + if (isTraceEnabled()) { + if (context == null) { + decoratedLog.trace(message, arg); + } else { + decoratedLog.trace(new Message(context, message).toString(), arg); + } + } + } + + + public void trace(String message, Object arg1, Object arg2) { + if (isTraceEnabled()) { + if (context == null) { + decoratedLog.trace(message, arg1, arg2); + } else { + decoratedLog.trace(new Message(context, message).toString(), arg1, arg2); + } + } + + } + + + public void trace(String message, Object[] argArray) { + if (isTraceEnabled()) { + if (context == null) { + decoratedLog.trace(message, argArray); + } else { + decoratedLog.trace(new Message(context, message).toString(), argArray); + } + } + } + + + public boolean isTraceEnabled(Marker marker) { + return decoratedLog.isTraceEnabled(marker); + } + + + public void trace(Marker marker, String msg) { + if (isTraceEnabled(marker)) { + if (context == null) { + decoratedLog.trace(marker, msg); + } else { + decoratedLog.trace(marker, new Message(context, msg).toString()); + } + } + } + + + public void trace(Marker marker, String message, Object arg) { + if (isTraceEnabled(marker)) { + if (context == null) { + decoratedLog.trace(marker, message, arg); + } else { + decoratedLog.trace(marker, new Message(context, message).toString(), arg); + } + } + } + + + public void trace(Marker marker, String message, Object arg1, Object arg2) { + if (isTraceEnabled(marker)) { + if (context == null) { + decoratedLog.trace(marker, message, arg1, arg2); + } else { + decoratedLog.trace(marker, new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void trace(Marker marker, String message, Object[] argArray) { + if (isTraceEnabled(marker)) { + if (context == null) { + decoratedLog.trace(marker, message, argArray); + } else { + decoratedLog.trace(marker, new Message(context, message).toString(), argArray); + } + } + } + + + public void trace(Marker marker, String msg, Throwable t) { + if (isTraceEnabled(marker)) { + if (context == null) { + decoratedLog.trace(marker, msg, t); + } else { + decoratedLog.trace(marker, new Message(context, msg).toString(), t); + } + } + } + + + public void debug(String message, Object arg) { + if (isDebugEnabled()) { + if (context == null) { + decoratedLog.debug(message, arg); + } else { + decoratedLog.debug(new Message(context, message).toString(), arg); + } + } + } + + + public void debug(String message, Object arg1, Object arg2) { + if (isDebugEnabled()) { + if (context == null) { + decoratedLog.debug(message, arg1, arg2); + } else { + decoratedLog.debug(new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void debug(String message, Object[] argArray) { + if (isDebugEnabled()) { + if (context == null) { + decoratedLog.debug(message, argArray); + } else { + decoratedLog.debug(new Message(context, message).toString(), argArray); + } + } + } + + + public boolean isDebugEnabled(Marker marker) { + return decoratedLog.isDebugEnabled(marker); + } + + + public void debug(Marker marker, String msg) { + if (isDebugEnabled(marker)) { + if (context == null) { + decoratedLog.debug(marker, msg); + } else { + decoratedLog.debug(marker, new Message(context, msg).toString()); + } + } + } + + + public void debug(Marker marker, String message, Object arg) { + if (isDebugEnabled(marker)) { + if (context == null) { + decoratedLog.debug(marker, message, arg); + } else { + decoratedLog.debug(marker, new Message(context, message).toString(), arg); + } + } + } + + + public void debug(Marker marker, String message, Object arg1, Object arg2) { + if (isDebugEnabled(marker)) { + if (context == null) { + decoratedLog.debug(marker, message, arg1, arg2); + } else { + decoratedLog.debug(new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void debug(Marker marker, String message, Object[] argArray) { + if (isDebugEnabled(marker)) { + if (context == null) { + decoratedLog.debug(marker, message, argArray); + } else { + decoratedLog.debug(marker, new Message(context, message).toString(), argArray); + } + } + } + + + public void debug(Marker marker, String msg, Throwable t) { + if (isDebugEnabled(marker)) { + if (context == null) { + decoratedLog.debug(marker, msg, t); + } else { + decoratedLog.debug(marker, new Message(context, msg).toString(), t); + } + } + } + + + public void info(String message, Object arg) { + if (isInfoEnabled()) { + if (context == null) { + decoratedLog.info(message, arg); + } else { + decoratedLog.info(new Message(context, message).toString(), arg); + } + } + } + + + public void info(String message, Object arg1, Object arg2) { + if (isInfoEnabled()) { + if (context == null) { + decoratedLog.info(message, arg1, arg2); + } else { + decoratedLog.info(new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void info(String message, Object[] argArray) { + if (isInfoEnabled()) { + if (context == null) { + decoratedLog.info(message, argArray); + } else { + decoratedLog.info(new Message(context, message).toString(), argArray); + } + } + } + + + public boolean isInfoEnabled(Marker marker) { + return decoratedLog.isInfoEnabled(marker); + } + + + public void info(Marker marker, String msg) { + if (isInfoEnabled(marker)) { + if (context == null) { + decoratedLog.info(marker, msg); + } else { + decoratedLog.info(marker, new Message(context, msg).toString()); + } + } + } + + + public void info(Marker marker, String message, Object arg) { + if (isInfoEnabled(marker)) { + if (context == null) { + decoratedLog.info(marker, message, arg); + } else { + decoratedLog.info(marker, new Message(context, message).toString(), arg); + } + } + } + + + public void info(Marker marker, String message, Object arg1, Object arg2) { + if (isInfoEnabled(marker)) { + if (context == null) { + decoratedLog.info(marker, message, arg1, arg2); + } else { + decoratedLog.info(marker, new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void info(Marker marker, String message, Object[] argArray) { + if (isInfoEnabled(marker)) { + if (context == null) { + decoratedLog.info(marker, message, argArray); + } else { + decoratedLog.info(marker, new Message(context, message).toString(), argArray); + } + } + } + + + public void info(Marker marker, String msg, Throwable t) { + if (isInfoEnabled(marker)) { + if (context == null) { + decoratedLog.info(marker, msg, t); + } else { + decoratedLog.info(marker, new Message(context, msg).toString(), t); + } + } + } + + + public void warn(String message, Object arg) { + if (isWarnEnabled()) { + if (context == null) { + decoratedLog.warn(message, arg); + } else { + decoratedLog.warn(new Message(context, message).toString(), arg); + } + } + } + + + public void warn(String message, Object[] argArray) { + if (isWarnEnabled()) { + if (context == null) { + decoratedLog.warn(message, argArray); + } else { + decoratedLog.warn(new Message(context, message).toString(), argArray); + } + } + } + + + public void warn(String message, Object arg1, Object arg2) { + if (isWarnEnabled()) { + if (context == null) { + decoratedLog.warn(message, arg1, arg2); + } else { + decoratedLog.warn(new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public boolean isWarnEnabled(Marker marker) { + return decoratedLog.isWarnEnabled(marker); + } + + + public void warn(Marker marker, String msg) { + if (isWarnEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, msg); + } else { + decoratedLog.warn(marker, new Message(context, msg).toString()); + } + } + } + + + public void warn(Marker marker, String message, Object arg) { + if (isWarnEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, arg); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), arg); + } + } + } + + + public void warn(Marker marker, String message, Object arg1, Object arg2) { + if (isWarnEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, arg1, arg2); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void warn(Marker marker, String message, Object[] argArray) { + if (isWarnEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, argArray); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), argArray); + } + } + } + + + public void warn(Marker marker, String msg, Throwable t) { + if (isWarnEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, msg, t); + } else { + decoratedLog.warn(marker, new Message(context, msg).toString(), t); + } + } + } + + + public void error(String message, Object arg) { + if (isErrorEnabled()) { + if (context == null) { + decoratedLog.warn(message, arg); + } else { + decoratedLog.warn(new Message(context, message).toString(), arg); + } + } + } + + + public void error(String message, Object arg1, Object arg2) { + if (isErrorEnabled()) { + if (context == null) { + decoratedLog.warn(message, arg1, arg2); + } else { + decoratedLog.warn(new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void error(String message, Object[] argArray) { + if (isErrorEnabled()) { + if (context == null) { + decoratedLog.warn(message, argArray); + } else { + decoratedLog.warn(new Message(context, message).toString(), argArray); + } + } + } + + + public boolean isErrorEnabled(Marker marker) { + return decoratedLog.isErrorEnabled(marker); + } + + + public void error(Marker marker, String msg) { + if (isErrorEnabled(marker)) { + if (context == null) { + decoratedLog.warn(msg); + } else { + decoratedLog.warn(marker, new Message(context, msg).toString()); + } + } + } + + + public void error(Marker marker, String message, Object arg) { + if (isErrorEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, arg); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), arg); + } + } + } + + + public void error(Marker marker, String message, Object arg1, Object arg2) { + if (isErrorEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, arg1, arg2); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), arg1, arg2); + } + } + } + + + public void error(Marker marker, String message, Object[] argArray) { + if (isErrorEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, message, argArray); + } else { + decoratedLog.warn(marker, new Message(context, message).toString(), argArray); + } + } + } + + + public void error(Marker marker, String msg, Throwable t) { + if (isErrorEnabled(marker)) { + if (context == null) { + decoratedLog.warn(marker, msg, t); + } else { + decoratedLog.warn(marker, new Message(context, msg).toString(), t); + } + } + } } Index: message/src/main/java/org/apache/james/imap/main/ImapRequestStreamHandler.java =================================================================== --- message/src/main/java/org/apache/james/imap/main/ImapRequestStreamHandler.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/main/ImapRequestStreamHandler.java (working copy) @@ -23,7 +23,6 @@ import java.io.InputStream; import java.io.OutputStream; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapSessionState; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.ImapSession; @@ -34,6 +33,7 @@ import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.request.SystemMessage; +import org.slf4j.Logger; /** * @version $Revision: 109034 $ @@ -66,7 +66,7 @@ ImapRequestLineReader request = new ImapRequestStreamLineReader(input, output); - final Log logger = session.getLog(); + final Logger logger = session.getLog(); try { request.nextChar(); } catch (DecodingException e) { Index: message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java =================================================================== --- message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java (working copy) @@ -30,13 +30,13 @@ import javax.mail.Flags; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.process.ImapSession; import org.apache.james.imap.encode.base.AbstractChainedImapEncoder; import org.apache.james.imap.message.response.FetchResponse; import org.apache.james.imap.message.response.FetchResponse.Structure; +import org.slf4j.Logger; public class FetchResponseEncoder extends AbstractChainedImapEncoder { @@ -196,7 +196,7 @@ final String name = iter.next(); final String value = params.get(name); if (value == null) { - final Log logger = session.getLog(); + final Logger logger = session.getLog(); logger.warn("Disposition parameter name has no value."); if (logger.isDebugEnabled()) { logger.debug("Disposition parameter " + name Index: message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java =================================================================== --- message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java (revision 1074121) +++ message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java (working copy) @@ -21,11 +21,11 @@ import java.io.IOException; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.process.ImapSession; import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; +import org.slf4j.Logger; /** * {@link ImapEncoder} which should get added to the end of the encoder chain. It will handle the response @@ -41,7 +41,7 @@ */ public void encode(ImapMessage message, ImapResponseComposer composer, ImapSession session) throws IOException { - final Log logger = session.getLog(); + final Logger logger = session.getLog(); logger.warn("Unknown message"); if (logger.isDebugEnabled()) { logger.debug("Chain end reached for " + message); Index: message/pom.xml =================================================================== --- message/pom.xml (revision 1075120) +++ message/pom.xml (working copy) @@ -57,8 +57,8 @@ ${javax.mail.artifactId} - commons-logging - commons-logging + org.slf4j + slf4j-api commons-lang Index: api/src/main/java/org/apache/james/imap/api/process/ImapSession.java =================================================================== --- api/src/main/java/org/apache/james/imap/api/process/ImapSession.java (revision 1074121) +++ api/src/main/java/org/apache/james/imap/api/process/ImapSession.java (working copy) @@ -19,8 +19,8 @@ package org.apache.james.imap.api.process; -import org.apache.commons.logging.Log; import org.apache.james.imap.api.ImapSessionState; +import org.slf4j.Logger; /** * Encapsulates all state held for an ongoing Imap session, which commences when @@ -39,7 +39,7 @@ * Using this log allows context information to be associated. * @return context sensitive log, not null */ - Log getLog(); + Logger getLog(); /** * Logs out the session. Marks the connection for closure; Index: api/pom.xml =================================================================== --- api/pom.xml (revision 1075120) +++ api/pom.xml (working copy) @@ -39,8 +39,8 @@ - commons-logging - commons-logging + org.slf4j + slf4j-api junit Index: pom.xml =================================================================== --- pom.xml (revision 1075098) +++ pom.xml (working copy) @@ -221,6 +221,24 @@ + + + org.slf4j + slf4j-api + 1.6.1 + + + org.slf4j + slf4j-simple + 1.6.1 + test + + + @@ -230,29 +248,6 @@ ${version.commons-collections} - commons-logging - commons-logging - ${version.commons-logging} - - - logkit - logkit - - - avalon-framework - avalon-framework - - - log4j - log4j - - - javax.servlet - servlet-api - - - - commons-lang commons-lang ${version.commons-lang} @@ -417,7 +412,6 @@ 1.0.2 2.4 3.2.1 - 1.1 0.6 1.4.3 1.1.1