[jboss-cvs] jboss-seam/src/main/org/jboss/seam/log ...
Gavin King
gavin.king at jboss.com
Fri Dec 15 21:16:28 EST 2006
User: gavin
Date: 06/12/15 21:16:28
Modified: src/main/org/jboss/seam/log LogImpl.java
Added: src/main/org/jboss/seam/log JDKProvider.java
Log4JProvider.java LogProvider.java Logging.java
Log:
rip out commons-logging, in order to solve JBSEAM-581
Revision Changes Path
1.8 +4 -10 jboss-seam/src/main/org/jboss/seam/log/LogImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: LogImpl.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/log/LogImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- LogImpl.java 14 Nov 2006 20:38:30 -0000 1.7
+++ LogImpl.java 16 Dec 2006 02:16:28 -0000 1.8
@@ -5,7 +5,6 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import org.apache.commons.logging.LogFactory;
import org.jboss.seam.core.Interpolator;
/**
@@ -16,20 +15,15 @@
public class LogImpl implements Log, Externalizable
{
- private transient org.apache.commons.logging.Log log;
+ private transient LogProvider log;
private String category;
public LogImpl() {} //for Externalizable
- public LogImpl(Class clazz)
- {
- this( clazz.getName() );
- }
-
- public LogImpl(String category)
+ LogImpl(String category)
{
this.category = category;
- this.log = LogFactory.getLog(category);
+ this.log = Logging.getLogProvider(category);
}
public boolean isDebugEnabled()
@@ -173,7 +167,7 @@
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
{
category = (String) in.readObject();
- log = LogFactory.getLog(category);
+ log = Logging.getLogProvider(category);
}
public void writeExternal(ObjectOutput out) throws IOException
1.1 date: 2006/12/16 02:16:28; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/log/JDKProvider.java
Index: JDKProvider.java
===================================================================
package org.jboss.seam.log;
import java.util.logging.Level;
import java.util.logging.Logger;
public class JDKProvider implements LogProvider
{
private final Logger logger;
JDKProvider(String category)
{
this.logger = Logger.getLogger(category);
}
private void log( Level level, Object object, Throwable ex )
{
if ( logger.isLoggable(level) )
{
Throwable dummyException=new Throwable();
StackTraceElement locations[]=dummyException.getStackTrace();
String className="unknown";
String methodName="unknown";
if( locations!=null && locations.length>3 )
{
StackTraceElement caller=locations[3];
className=caller.getClassName();
methodName=caller.getMethodName();
}
if( ex==null )
{
logger.logp( level, className, methodName, String.valueOf(object) );
}
else
{
logger.logp( level, className, methodName, String.valueOf(object), ex );
}
}
}
public void debug(Object object, Throwable t)
{
log(Level.FINE, object, t);
}
public void debug(Object object)
{
log(Level.FINE, object, null);
}
public void error(Object object, Throwable t)
{
log(Level.SEVERE, object, t);
}
public void error(Object object)
{
log(Level.SEVERE, object, null);
}
public void fatal(Object object, Throwable t)
{
log(Level.SEVERE, object, t);
}
public void fatal(Object object)
{
log(Level.SEVERE, object, null);
}
public void info(Object object, Throwable t)
{
log(Level.INFO, object, t);
}
public void info(Object object)
{
log(Level.INFO, object, null);
}
public boolean isDebugEnabled()
{
return logger.isLoggable(Level.FINE);
}
public boolean isErrorEnabled()
{
return logger.isLoggable(Level.SEVERE);
}
public boolean isFatalEnabled()
{
return logger.isLoggable(Level.SEVERE);
}
public boolean isInfoEnabled()
{
return logger.isLoggable(Level.INFO);
}
public boolean isTraceEnabled()
{
return logger.isLoggable(Level.FINER);
}
public boolean isWarnEnabled()
{
return logger.isLoggable(Level.WARNING);
}
public void trace(Object object, Throwable t)
{
log(Level.FINER, object, t);
}
public void trace(Object object)
{
log(Level.FINER, object, null);
}
public void warn(Object object, Throwable t)
{
log(Level.WARNING, object, t);
}
public void warn(Object object)
{
log(Level.WARNING, object, null);
}
}
1.1 date: 2006/12/16 02:16:28; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/log/Log4JProvider.java
Index: Log4JProvider.java
===================================================================
package org.jboss.seam.log;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public final class Log4JProvider implements LogProvider
{
private final Logger logger;
private static final String FQCN = LogImpl.class.getName();
Log4JProvider(String category)
{
logger = Logger.getLogger(category);
}
public void debug(Object object)
{
logger.log(FQCN, Level.DEBUG, object, null);
}
public void debug(Object object, Throwable t)
{
logger.log(FQCN, Level.DEBUG, object, t);
}
public void error(Object object)
{
logger.log(FQCN, Level.ERROR, object, null);
}
public void error(Object object, Throwable t)
{
logger.log(FQCN, Level.ERROR, object, t);
}
public void fatal(Object object)
{
logger.log(FQCN, Level.FATAL, object, null);
}
public void fatal(Object object, Throwable t)
{
logger.log(FQCN, Level.DEBUG, object, t);
}
public void info(Object object)
{
logger.log(FQCN, Level.INFO, object, null);
}
public void info(Object object, Throwable t)
{
logger.log(FQCN, Level.INFO, object, t);
}
public boolean isDebugEnabled()
{
return logger.isEnabledFor(Level.DEBUG);
}
public boolean isErrorEnabled()
{
return logger.isEnabledFor(Level.ERROR);
}
public boolean isFatalEnabled()
{
return logger.isEnabledFor(Level.FATAL);
}
public boolean isInfoEnabled()
{
return logger.isEnabledFor(Level.INFO);
}
public boolean isTraceEnabled()
{
return logger.isEnabledFor(Level.DEBUG);
}
public boolean isWarnEnabled()
{
return logger.isEnabledFor(Level.WARN);
}
public void trace(Object object)
{
logger.log(FQCN, Level.DEBUG, object, null);
}
public void trace(Object object, Throwable t)
{
logger.log(FQCN, Level.DEBUG, object, t);
}
public void warn(Object object)
{
logger.log(FQCN, Level.WARN, object, null);
}
public void warn(Object object, Throwable t)
{
logger.log(FQCN, Level.WARN, object, t);
}
}
1.1 date: 2006/12/16 02:16:28; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/log/LogProvider.java
Index: LogProvider.java
===================================================================
package org.jboss.seam.log;
public interface LogProvider
{
public void trace(Object object);
public void trace(Object object, Throwable t);
public void debug(Object object);
public void debug(Object object, Throwable t);
public void info(Object object);
public void info(Object object, Throwable t);
public void warn(Object object);
public void warn(Object object, Throwable t);
public void error(Object object);
public void error(Object object, Throwable t);
public void fatal(Object object);
public void fatal(Object object, Throwable t);
public boolean isTraceEnabled();
public boolean isDebugEnabled();
public boolean isInfoEnabled();
public boolean isWarnEnabled();
public boolean isErrorEnabled();
public boolean isFatalEnabled();
}
1.1 date: 2006/12/16 02:16:28; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/log/Logging.java
Index: Logging.java
===================================================================
package org.jboss.seam.log;
public class Logging
{
private static final boolean isLog4JAvailable;
static
{
boolean available;
try
{
Class.forName("org.apache.log4j.Logger");
available = true;
}
catch (ClassNotFoundException cnfe)
{
available = false;
}
isLog4JAvailable = available;
}
public static Log getLog(String category)
{
return new LogImpl(category);
}
public static Log getLog(Class clazz)
{
return new LogImpl( clazz.getName() );
}
public static LogProvider getLogProvider(String category)
{
return isLog4JAvailable ?
new Log4JProvider(category) :
new JDKProvider(category);
}
}
More information about the jboss-cvs-commits
mailing list