public abstract class LogFactory
extends java.lang.Object
Factory for creating Log
instances, which always delegates to an
instance of SLF4JLogFactory
.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DIAGNOSTICS_DEST_PROPERTY
The name (
org.apache.commons.logging.diagnostics.dest ) of
the property used to enable internal commons-logging diagnostic output, in
order to get information on what logging implementations are being
discovered, what classloaders they are loaded through, etc. |
static java.lang.String |
FACTORY_DEFAULT
The fully qualified class name of the fallback
LogFactory
implementation class to use, if no other can be found. |
static java.lang.String |
FACTORY_PROPERTIES
The name of the properties file to search for.
|
static java.lang.String |
FACTORY_PROPERTY
The name of the property used to identify the LogFactory implementation
class name.
|
static java.lang.String |
HASHTABLE_IMPLEMENTATION_PROPERTY
Setting this system property value allows the
Hashtable used
to store classloaders to be substituted by an alternative implementation. |
static java.lang.String |
PRIORITY_KEY
The name (
priority ) of the key in the config file used to
specify the priority of that particular config file. |
static java.lang.String |
TCCL_KEY
The name (
use_tccl ) of the key in the config file used to
specify whether logging classes should be loaded via the thread context
class loader (TCCL), or not. |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
getAttribute(java.lang.String name)
Return the configuration attribute with the specified name (if any), or
null if there is no such attribute. |
abstract java.lang.String[] |
getAttributeNames()
Return an array containing the names of all currently defined configuration
attributes.
|
static LogFactory |
getFactory()
Construct (if necessary) and return a
LogFactory instance,
using the following ordered lookup procedure to determine the name of the
implementation class to be loaded. |
abstract Log |
getInstance(java.lang.Class clazz)
Convenience method to derive a name from the specified class and call
getInstance(String) with it. |
abstract Log |
getInstance(java.lang.String name)
Construct (if necessary) and return a
Log instance, using
the factory's current set of configuration attributes. |
static Log |
getLog(java.lang.Class clazz)
Convenience method to return a named logger, without the application having
to care about factories.
|
static Log |
getLog(java.lang.String name)
Convenience method to return a named logger, without the application having
to care about factories.
|
static java.lang.String |
objectId(java.lang.Object o)
Returns a string that uniquely identifies the specified object, including
its class.
|
abstract void |
release()
Release any internal references to previously created
Log instances
returned by this factory. |
static void |
release(java.lang.ClassLoader classLoader)
Release any internal references to previously created
LogFactory
instances that have been associated with the specified class loader (if
any), after calling the instance method release() on each of
them. |
static void |
releaseAll()
Release any internal references to previously created
LogFactory
instances, after calling the instance method release() on
each of them. |
abstract void |
removeAttribute(java.lang.String name)
Remove any configuration attribute associated with the specified name.
|
abstract void |
setAttribute(java.lang.String name,
java.lang.Object value)
Set the configuration attribute with the specified name.
|
public static final java.lang.String PRIORITY_KEY
priority
) of the key in the config file used to
specify the priority of that particular config file. The associated value
is a floating-point number; higher values take priority over lower values.
This property is not used but preserved here for compatibility.
public static final java.lang.String TCCL_KEY
use_tccl
) of the key in the config file used to
specify whether logging classes should be loaded via the thread context
class loader (TCCL), or not. By default, the TCCL is used.
This property is not used but preserved here for compatibility.
public static final java.lang.String FACTORY_PROPERTY
This property is not used but preserved here for compatibility.
public static final java.lang.String FACTORY_DEFAULT
LogFactory
implementation class to use, if no other can be found.
This property is not used but preserved here for compatibility.
public static final java.lang.String FACTORY_PROPERTIES
This property is not used but preserved here for compatibility.
public static final java.lang.String DIAGNOSTICS_DEST_PROPERTY
org.apache.commons.logging.diagnostics.dest
) of
the property used to enable internal commons-logging diagnostic output, in
order to get information on what logging implementations are being
discovered, what classloaders they are loaded through, etc.
This property is not used but preserved here for compatibility.
public static final java.lang.String HASHTABLE_IMPLEMENTATION_PROPERTY
Setting this system property value allows the Hashtable
used
to store classloaders to be substituted by an alternative implementation.
This property is not used but preserved here for compatibility.
public abstract java.lang.Object getAttribute(java.lang.String name)
null
if there is no such attribute.name
- Name of the attribute to returnpublic abstract java.lang.String[] getAttributeNames()
public abstract Log getInstance(java.lang.Class clazz) throws LogConfigurationException
getInstance(String)
with it.clazz
- Class for which a suitable Log name will be derivedLogConfigurationException
- if a suitable Log
instance cannot be
returnedpublic abstract Log getInstance(java.lang.String name) throws LogConfigurationException
Construct (if necessary) and return a Log
instance, using
the factory's current set of configuration attributes.
NOTE - Depending upon the implementation of the
LogFactory
you are using, the Log
instance
you are returned may or may not be local to the current application, and
may or may not be returned again on a subsequent call with the same name
argument.
name
- Logical name of the Log
instance to be
returned (the meaning of this name is only known to the
underlying logging implementation that is being wrapped)LogConfigurationException
- if a suitable Log
instance cannot be
returnedpublic abstract void release()
Log
instances
returned by this factory. This is useful in environments like servlet
containers, which implement application reloading by throwing away a
ClassLoader. Dangling references to objects in that class loader would
prevent garbage collection.public abstract void removeAttribute(java.lang.String name)
name
- Name of the attribute to removepublic abstract void setAttribute(java.lang.String name, java.lang.Object value)
null
value is equivalent to calling
removeAttribute(name)
.name
- Name of the attribute to setvalue
- Value of the attribute to set, or null
to
remove any setting for this attributepublic static LogFactory getFactory() throws LogConfigurationException
Construct (if necessary) and return a LogFactory
instance,
using the following ordered lookup procedure to determine the name of the
implementation class to be loaded.
org.apache.commons.logging.LogFactory
system
property.commons-logging.properties
file, if found in the class path of this class. The configuration file is
in standard java.util.Properties
format and contains the
fully qualified name of the implementation class with the key being the
system property defined above.org.apache.commons.logging.impl.SLF4FLogFactory
).
NOTE- If the properties file method of identifying the
LogFactory
implementation class is utilized, all of the
properties defined in this file will be set as configuration attributes on
the corresponding LogFactory
instance.
LogConfigurationException
- if the implementation class is not available or cannot
be instantiated.public static Log getLog(java.lang.Class clazz) throws LogConfigurationException
clazz
- Class from which a log name will be derivedLogConfigurationException
- if a suitable Log
instance cannot be
returnedpublic static Log getLog(java.lang.String name) throws LogConfigurationException
name
- Logical name of the Log
instance to be
returned (the meaning of this name is only known to the
underlying logging implementation that is being wrapped)LogConfigurationException
- if a suitable Log
instance cannot be
returnedpublic static void release(java.lang.ClassLoader classLoader)
LogFactory
instances that have been associated with the specified class loader (if
any), after calling the instance method release()
on each of
them.classLoader
- ClassLoader for which to release the LogFactorypublic static void releaseAll()
LogFactory
instances, after calling the instance method release()
on
each of them. This is useful in environments like servlet containers, which
implement application reloading by throwing away a ClassLoader. Dangling
references to objects in that class loader would prevent garbage
collection.public static java.lang.String objectId(java.lang.Object o)
The returned string is of form "classname@hashcode", i.e. is the same as the return value of the Object.toString() method, but works even when the specified object's class has overridden the toString method.
o
- may be null.Copyright © 2010 - 2020 Adobe. All Rights Reserved