org.apache.commons.logging
public class LogSource extends Object
Deprecated: Use LogFactory instead - The default factory implementation performs exactly the same algorithm as this class did
Factory for creating Log instances. Applications should call
the makeNewLogInstance()
method to instantiate new instances
of the configured Log implementation class.
By default, calling getInstance()
will use the following
algorithm:
org.apache.commons.logging.impl.Log4JLogger
.org.apache.commons.logging.impl.Jdk14Logger
.org.apache.commons.logging.impl.NoOpLog
.You can change the default behavior in one of two ways:
org.apache.commons.logging.log
to the name of the
org.apache.commons.logging.Log
implementation class
you want to use.LogSource.setLogImplementation()
.Field Summary | |
---|---|
protected static boolean | jdk14IsAvailable Is JDK 1.4 logging available |
protected static boolean | log4jIsAvailable Is log4j available (in the current classpath) |
protected static Constructor | logImplctor Constructor for current log class |
protected static Hashtable | logs |
Method Summary | |
---|---|
static Log | getInstance(String name) Get a Log instance by class name |
static Log | getInstance(Class clazz) Get a Log instance by class |
static String[] | getLogNames()
Returns a String array containing the names of
all logs known to me. |
static Log | makeNewLogInstance(String name)
Create a new Log implementation, based
on the given name.
|
static void | setLogImplementation(String classname)
Set the log implementation/log implementation factory
by the name of the class. |
static void | setLogImplementation(Class logclass)
Set the log implementation/log implementation factory
by class. |
Log
instance by class nameLog
instance by classThe specific Log implementation returned is determined by the value of the org.apache.commons.logging.log property. The value of org.apache.commons.logging.log may be set to the fully specified name of a class that implements the Log interface. This class must also have a public constructor that takes a single String argument (containing the name of the Log to be constructed.
When org.apache.commons.logging.log is not set, or when no corresponding class can be found, this method will return a Log4JLogger if the log4j Logger class is available in the LogSource's classpath, or a Jdk14Logger if we are on a JDK 1.4 or later system, or NoOpLog if neither of the above conditions is true.
Parameters: name the log name (or category)