Index: impl/src/main/java/org/apache/james/protocols/impl/SessionLog.java =================================================================== --- impl/src/main/java/org/apache/james/protocols/impl/SessionLog.java (revision 1074454) +++ impl/src/main/java/org/apache/james/protocols/impl/SessionLog.java (working copy) @@ -19,101 +19,84 @@ package org.apache.james.protocols.impl; -import org.apache.commons.logging.Log; +import org.slf4j.Logger; +import org.slf4j.Marker; /** - * A {@link Log} implementation which suffix every log message with the session id + * A {@link Logger} implementation which suffix every log message with the session id * Id * * */ -public class SessionLog implements Log { - private Log logger; +public class SessionLog implements Logger { + private Logger logger; private String id; - public SessionLog(String id, Log logger) { + public SessionLog(String id, Logger logger) { this.logger = logger; this.id = id; } - private String getText(Object obj) { - return "ID="+ id + " " + obj.toString(); + private String getText(String str) { + return "ID="+ id + " " + str; } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#debug(java.lang.Object) + * @see org.slf4j.Logger#debug(java.lang.String) */ - public void debug(Object arg0) { + public void debug(String arg0) { logger.debug(getText(arg0)); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#debug(java.lang.Object, java.lang.Throwable) + * @see org.slf4j.Logger#debug(java.lang.String, java.lang.StringThrowable) */ - public void debug(Object arg0, Throwable arg1) { + public void debug(String arg0, Throwable arg1) { logger.debug(getText(arg0), arg1); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#error(java.lang.Object) + * @see org.slf4j.Logger#error(java.lang.String) */ - public void error(Object arg0) { + public void error(String arg0) { logger.error(getText(arg0)); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#error(java.lang.Object, java.lang.Throwable) + * @see org.slf4j.Logger#error(java.lang.String, java.lang.Throwable) */ - public void error(Object arg0, Throwable arg1) { + public void error(String arg0, Throwable arg1) { logger.error(getText(arg0), arg1); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#fatal(java.lang.Object) + * @see org.slf4j.Logger#info(java.lang.String) */ - public void fatal(Object arg0) { - logger.fatal(getText(arg0)); - - } - - /* - * (non-Javadoc) - * @see org.apache.commons.logging.Log#fatal(java.lang.Object, java.lang.Throwable) - */ - public void fatal(Object arg0, Throwable arg1) { - logger.fatal(getText(arg0), arg1); - - } - - /* - * (non-Javadoc) - * @see org.apache.commons.logging.Log#info(java.lang.Object) - */ - public void info(Object arg0) { + public void info(String arg0) { logger.info(getText(arg0)); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#info(java.lang.Object, java.lang.Throwable) + * @see org.slf4j.Logger#info(java.lang.String, java.lang.Throwable) */ - public void info(Object arg0, Throwable arg1) { + public void info(String arg0, Throwable arg1) { logger.info(getText(arg0), arg1); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#isDebugEnabled() + * @see org.slf4j.Logger#isDebugEnabled() */ public boolean isDebugEnabled() { return logger.isDebugEnabled(); @@ -121,7 +104,7 @@ /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#isErrorEnabled() + * @see org.slf4j.Logger#isErrorEnabled() */ public boolean isErrorEnabled() { return logger.isErrorEnabled(); @@ -129,23 +112,15 @@ /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#isFatalEnabled() + * @see org.slf4j.Logger#isInfoEnabled() */ - public boolean isFatalEnabled() { - return logger.isFatalEnabled(); - } - - /* - * (non-Javadoc) - * @see org.apache.commons.logging.Log#isInfoEnabled() - */ public boolean isInfoEnabled() { return logger.isInfoEnabled(); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#isTraceEnabled() + * @see org.slf4j.Logger#isTraceEnabled() */ public boolean isTraceEnabled() { return logger.isTraceEnabled(); @@ -153,7 +128,7 @@ /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#isWarnEnabled() + * @see org.slf4j.Logger#isWarnEnabled() */ public boolean isWarnEnabled() { return logger.isWarnEnabled(); @@ -161,37 +136,221 @@ /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#trace(java.lang.Object) + * @see org.slf4j.Logger#trace(java.lang.String) */ - public void trace(Object arg0) { + public void trace(String arg0) { logger.trace(getText(arg0)); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#trace(java.lang.Object, java.lang.Throwable) + * @see org.slf4j.Logger#trace(java.lang.String, java.lang.Throwable) */ - public void trace(Object arg0, Throwable arg1) { + public void trace(String arg0, Throwable arg1) { logger.trace(getText(arg0), arg1); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#warn(java.lang.Object) + * @see org.slf4j.Logger#warn(java.lang.String) */ - public void warn(Object arg0) { + public void warn(String arg0) { logger.warn(getText(arg0)); } /* * (non-Javadoc) - * @see org.apache.commons.logging.Log#warn(java.lang.Object, java.lang.Throwable) + * @see org.slf4j.Logger#warn(java.lang.String, java.lang.Throwable) */ - public void warn(Object arg0, Throwable arg1) { + public void warn(String arg0, Throwable arg1) { logger.warn(getText(arg0), arg1); } + public String getName() { + return logger.getName(); + } + + public void trace(String format, Object arg) { + logger.trace(format, arg); + } + + public void trace(String format, Object arg1, Object arg2) { + logger.trace(format, arg1, arg2); + } + + public void trace(String format, Object[] argArray) { + logger.trace(format, argArray); + } + + public boolean isTraceEnabled(Marker marker) { + return logger.isTraceEnabled(marker); + } + + public void trace(Marker marker, String msg) { + logger.trace(marker, msg); + } + + public void trace(Marker marker, String format, Object arg) { + logger.trace(marker, format, arg); + } + + public void trace(Marker marker, String format, Object arg1, Object arg2) { + logger.trace(marker, format, arg1, arg2); + } + + public void trace(Marker marker, String format, Object[] argArray) { + logger.trace(marker, format, argArray); + } + + public void trace(Marker marker, String msg, Throwable t) { + logger.trace(marker, msg, t); + } + + public void debug(String format, Object arg) { + logger.debug(format, arg); + } + + public void debug(String format, Object arg1, Object arg2) { + logger.debug(format, arg1, arg2); + } + + public void debug(String format, Object[] argArray) { + logger.debug(format, argArray); + } + + public boolean isDebugEnabled(Marker marker) { + return logger.isDebugEnabled(marker); + } + + public void debug(Marker marker, String msg) { + logger.debug(marker, msg); + } + + public void debug(Marker marker, String format, Object arg) { + logger.debug(marker, format, arg); + } + + public void debug(Marker marker, String format, Object arg1, Object arg2) { + logger.debug(marker, format, arg1, arg2); + } + + public void debug(Marker marker, String format, Object[] argArray) { + logger.debug(marker, format, argArray); + } + + public void debug(Marker marker, String msg, Throwable t) { + logger.debug(marker, msg, t); + } + + public void info(String format, Object arg) { + logger.info(format, arg); + } + + public void info(String format, Object arg1, Object arg2) { + logger.info(format, arg1, arg2); + } + + public void info(String format, Object[] argArray) { + logger.info(format, argArray); + } + + public boolean isInfoEnabled(Marker marker) { + return logger.isInfoEnabled(marker); + } + + public void info(Marker marker, String msg) { + logger.info(marker, msg); + } + + public void info(Marker marker, String format, Object arg) { + logger.info(marker, format, arg); + } + + public void info(Marker marker, String format, Object arg1, Object arg2) { + logger.info(marker, format, arg1, arg2); + } + + public void info(Marker marker, String format, Object[] argArray) { + logger.info(marker, format, argArray); + } + + public void info(Marker marker, String msg, Throwable t) { + logger.info(marker, msg, t); + } + + public void warn(String format, Object arg) { + logger.warn(format, arg); + } + + public void warn(String format, Object[] argArray) { + logger.warn(format, argArray); + } + + public void warn(String format, Object arg1, Object arg2) { + logger.warn(format, arg1, arg2); + } + + public boolean isWarnEnabled(Marker marker) { + return logger.isWarnEnabled(marker); + } + + public void warn(Marker marker, String msg) { + logger.warn(marker, msg); + } + + public void warn(Marker marker, String format, Object arg) { + logger.warn(marker, format, arg); + } + + public void warn(Marker marker, String format, Object arg1, Object arg2) { + logger.warn(marker, format, arg1, arg2); + } + + public void warn(Marker marker, String format, Object[] argArray) { + logger.warn(marker, format, argArray); + } + + public void warn(Marker marker, String msg, Throwable t) { + logger.warn(marker, msg, t); + } + + public void error(String format, Object arg) { + logger.error(format, arg); + } + + public void error(String format, Object arg1, Object arg2) { + logger.error(format, arg1, arg2); + } + + public void error(String format, Object[] argArray) { + logger.error(format, argArray); + } + + public boolean isErrorEnabled(Marker marker) { + return logger.isErrorEnabled(marker); + } + + public void error(Marker marker, String msg) { + logger.error(marker, msg); + } + + public void error(Marker marker, String format, Object arg) { + logger.error(marker, format, arg); + } + + public void error(Marker marker, String format, Object arg1, Object arg2) { + logger.error(marker, format, arg1, arg2); + } + + public void error(Marker marker, String format, Object[] argArray) { + logger.error(marker, format, argArray); + } + + public void error(Marker marker, String msg, Throwable t) { + logger.error(marker, msg, t); + } + } Index: impl/src/main/java/org/apache/james/protocols/impl/AbstractSession.java =================================================================== --- impl/src/main/java/org/apache/james/protocols/impl/AbstractSession.java (revision 1074454) +++ impl/src/main/java/org/apache/james/protocols/impl/AbstractSession.java (working copy) @@ -25,13 +25,13 @@ import javax.net.ssl.SSLEngine; -import org.apache.commons.logging.Log; import org.apache.james.protocols.api.Response; import org.apache.james.protocols.api.TLSSupportedSession; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.handler.ssl.SslHandler; import org.jboss.netty.handler.stream.ChunkedStream; +import org.slf4j.Logger; /** * Abstract implementation of TLSSupportedSession which use Netty @@ -41,7 +41,7 @@ public abstract class AbstractSession implements TLSSupportedSession { protected ChannelHandlerContext handlerContext; protected InetSocketAddress socketAddress; - private Log logger; + private Logger logger; private SessionLog pLog = null; protected SSLEngine engine; @@ -49,7 +49,7 @@ private String id; - public AbstractSession(Log logger, ChannelHandlerContext handlerContext, SSLEngine engine) { + public AbstractSession(Logger logger, ChannelHandlerContext handlerContext, SSLEngine engine) { this.handlerContext = handlerContext; this.socketAddress = (InetSocketAddress) handlerContext.getChannel().getRemoteAddress(); this.logger = logger; @@ -58,7 +58,7 @@ } - public AbstractSession(Log logger, ChannelHandlerContext handlerContext) { + public AbstractSession(Logger logger, ChannelHandlerContext handlerContext) { this(logger, handlerContext, null); } @@ -136,7 +136,7 @@ /** * @see org.apache.james.api.protocol.ProtocolSession#getLogger() */ - public Log getLogger() { + public Logger getLogger() { if (pLog == null) { pLog = new SessionLog(getSessionID(), logger); } Index: impl/pom.xml =================================================================== --- impl/pom.xml (revision 1074454) +++ impl/pom.xml (working copy) @@ -80,12 +80,17 @@ protocols-api - commons-logging - commons-logging + org.slf4j + slf4j-api org.jboss.netty netty + + junit + junit + test + \ No newline at end of file Index: smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MockLog.java =================================================================== --- smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MockLog.java (revision 1074454) +++ smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MockLog.java (working copy) @@ -19,100 +19,306 @@ package org.apache.james.protocols.smtp.core.fastfail; -import org.apache.commons.logging.Log; +import org.slf4j.Logger; +import org.slf4j.Marker; -public class MockLog implements Log{ +public class MockLog implements Logger { - public void debug(Object arg0) { - System.out.println(arg0); + public String getName() { + return "MockLogger to System out"; } - public void debug(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); + public boolean isTraceEnabled() { + return true; + } + public void trace(String msg) { + SysPrint(msg); + } + public void trace(String format, Object arg) { + SysPrint(format, arg); } - public void error(Object arg0) { - System.out.println(arg0); - + public void trace(String format, Object arg1, Object arg2) { + SysPrint(format, arg1, arg2); } - public void error(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); + public void trace(String format, Object[] argArray) { + SysPrint(format, argArray); + } - + public void trace(String msg, Throwable t) { + SysPrint(msg, t); } - public void fatal(Object arg0) { - System.out.println(arg0); - + public boolean isTraceEnabled(Marker marker) { + return true; } - public void fatal(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); + public void trace(Marker marker, String msg) { + SysPrint(marker, msg); + } - + public void trace(Marker marker, String format, Object arg) { + SysPrint(marker, format, arg); } - public void info(Object arg0) { - System.out.println(arg0); - + public void trace(Marker marker, String format, Object arg1, Object arg2) { + SysPrint(marker, format, arg1, arg2); } - public void info(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); + public void trace(Marker marker, String format, Object[] argArray) { + SysPrint(marker, format, argArray); + } - + public void trace(Marker marker, String msg, Throwable t) { + SysPrint(marker, msg, t); } public boolean isDebugEnabled() { - return true; + return true; } - public boolean isErrorEnabled() { - return true; + public void debug(String msg) { + SysPrint(msg); } - public boolean isFatalEnabled() { - return true; + public void debug(String format, Object arg) { + SysPrint(format, arg); } + public void debug(String format, Object arg1, Object arg2) { + SysPrint(format, arg1, arg2); + } + + public void debug(String format, Object[] argArray) { + SysPrint(format, argArray); + } + + public void debug(String msg, Throwable t) { + SysPrint(msg, t); + } + + public boolean isDebugEnabled(Marker marker) { + return true; + } + + public void debug(Marker marker, String msg) { + SysPrint(marker, msg); + } + + public void debug(Marker marker, String format, Object arg) { + SysPrint(marker, format, arg); + } + + public void debug(Marker marker, String format, Object arg1, Object arg2) { + SysPrint(marker, format, arg1, arg2); + } + + public void debug(Marker marker, String format, Object[] argArray) { + SysPrint(marker, format, argArray); + } + + public void debug(Marker marker, String msg, Throwable t) { + SysPrint(marker, msg, t); + } + public boolean isInfoEnabled() { - return true; + return true; } - public boolean isTraceEnabled() { - return true; + public void info(String msg) { + SysPrint(msg); } + public void info(String format, Object arg) { + SysPrint(format, arg); + } + + public void info(String format, Object arg1, Object arg2) { + SysPrint(format, arg1, arg2); + } + + public void info(String format, Object[] argArray) { + SysPrint(format, argArray); + } + + public void info(String msg, Throwable t) { + SysPrint(msg, t); + } + + public boolean isInfoEnabled(Marker marker) { + return true; + } + + public void info(Marker marker, String msg) { + SysPrint(marker, msg); + } + + public void info(Marker marker, String format, Object arg) { + SysPrint(marker, format, arg); + } + + public void info(Marker marker, String format, Object arg1, Object arg2) { + SysPrint(marker, format, arg1, arg2); + } + + public void info(Marker marker, String format, Object[] argArray) { + SysPrint(marker, format, argArray); + } + + public void info(Marker marker, String msg, Throwable t) { + SysPrint(marker, msg, t); + } + public boolean isWarnEnabled() { - return true; + return true; } - public void trace(Object arg0) { - System.out.println(arg0); + public void warn(String msg) { + SysPrint(msg); } - public void trace(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); + public void warn(String format, Object arg) { + SysPrint(format, arg); + } + public void warn(String format, Object[] argArray) { + SysPrint(format, argArray); } - public void warn(Object arg0) { - System.out.println(arg0); - + public void warn(String format, Object arg1, Object arg2) { + SysPrint(format, arg1, arg2); } - public void warn(Object arg0, Throwable arg1) { - System.out.println(arg0); - arg1.printStackTrace(); - + public void warn(String msg, Throwable t) { + SysPrint(msg, t); } + public boolean isWarnEnabled(Marker marker) { + return true; + } + + public void warn(Marker marker, String msg) { + } + + public void warn(Marker marker, String format, Object arg) { + SysPrint(marker, format, arg); + } + + public void warn(Marker marker, String format, Object arg1, Object arg2) { + SysPrint(marker, format, arg1, arg2); + } + + public void warn(Marker marker, String format, Object[] argArray) { + SysPrint(marker, format, argArray); + } + + public void warn(Marker marker, String msg, Throwable t) { + SysPrint(marker, msg, t); + } + + public boolean isErrorEnabled() { + return true; + } + + public void error(String msg) { + SysPrint(msg); + } + + public void error(String format, Object arg) { + SysPrint(format, arg); + } + + public void error(String format, Object arg1, Object arg2) { + SysPrint(format, arg1, arg2); + } + + public void error(String format, Object[] argArray) { + SysPrint(format, argArray); + } + + public void error(String msg, Throwable t) { + SysPrint(msg, t); + } + + public boolean isErrorEnabled(Marker marker) { + return true; + } + + public void error(Marker marker, String msg) { + SysPrint(marker, msg); + } + + public void error(Marker marker, String format, Object arg) { + SysPrint(marker, format, arg); + } + + public void error(Marker marker, String format, Object arg1, Object arg2) { + SysPrint(marker, format, arg1, arg2); + } + + public void error(Marker marker, String format, Object[] argArray) { + SysPrint(marker, format, argArray); + } + + public void error(Marker marker, String msg, Throwable t) { + SysPrint(marker, msg, t); + } + + private void SysPrint(Marker marker, String msg, Object... obj) { + if (obj != null) { + Throwable t = null; + StringBuffer s = new StringBuffer("["); + s.append(marker.toString()).append("] ").append(msg); + s.append(" args=["); + boolean first = true; + for (Object o : obj) { + if (o instanceof Throwable) { + t = (Throwable) o; + } else { + if (first) { + s.append(o.toString()); + first = false; + } else { + s.append(", ").append(o.toString()); + } + } + } + System.out.println(s.toString()); + if (t != null) { + t.printStackTrace(); + } + } else { + System.out.println(msg); + } + } + + private void SysPrint(String msg, Object... obj) { + if (obj != null) { + Throwable t = null; + StringBuffer s = new StringBuffer(msg); + s.append(" args=["); + boolean first = true; + for (Object o : obj) { + if (o instanceof Throwable) { + t = (Throwable) o; + } else { + if (first) { + s.append(o.toString()); + first = false; + } else { + s.append(", ").append(o.toString()); + } + } + } + System.out.println(s.toString()); + if (t != null) { + t.printStackTrace(); + } + } else { + System.out.println(msg); + } + } } Index: smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java =================================================================== --- smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java (revision 1074454) +++ smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java (working copy) @@ -24,19 +24,19 @@ import java.io.InputStream; import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.james.protocols.api.LineHandler; import org.apache.james.protocols.api.Response; import org.apache.james.protocols.smtp.SMTPConfiguration; import org.apache.james.protocols.smtp.SMTPSession; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Abstract class to simplify the mocks */ public class BaseFakeSMTPSession implements SMTPSession { - private static final Log log = LogFactory.getLog(BaseFakeSMTPSession.class); + private static final Logger log = LoggerFactory.getLogger(BaseFakeSMTPSession.class); /** * @see org.apache.james.protocols.smtp.SMTPSession#getConfigurationData() @@ -183,7 +183,7 @@ /** * @see org.apache.james.protocols.smtp.SMTPSession#getLogger() */ - public Log getLogger() { + public Logger getLogger() { return log; } Index: smtp/pom.xml =================================================================== --- smtp/pom.xml (revision 1074454) +++ smtp/pom.xml (working copy) @@ -80,8 +80,8 @@ protocols-api - commons-logging - commons-logging + org.slf4j + slf4j-api commons-codec @@ -105,5 +105,10 @@ junit test + + org.slf4j + slf4j-simple + test + \ No newline at end of file Index: api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java =================================================================== --- api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java (revision 1074454) +++ api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java (working copy) @@ -22,7 +22,7 @@ import java.io.InputStream; import java.util.Map; -import org.apache.commons.logging.Log; +import org.slf4j.Logger; /** * Session for a protcol. Every new connection generates a new session @@ -35,7 +35,7 @@ * Gets the context sensitive log for this session. * @return log, not null */ - public Log getLogger(); + public Logger getLogger(); /** Index: api/pom.xml =================================================================== --- api/pom.xml (revision 1074454) +++ api/pom.xml (working copy) @@ -76,8 +76,8 @@ - commons-logging - commons-logging + org.slf4j + slf4j-api \ No newline at end of file Index: pom.xml =================================================================== --- pom.xml (revision 1074454) +++ pom.xml (working copy) @@ -176,29 +176,17 @@ ${pom.version} - commons-logging - commons-logging - 1.1 - - - logkit - logkit - - - avalon-framework - avalon-framework - - - log4j - log4j - - - javax.servlet - servlet-api - - + org.slf4j + slf4j-api + 1.6.1 + org.slf4j + slf4j-simple + 1.6.1 + test + + org.apache.james apache-mailet 2.4