Factory for creating instances, with discovery and
configuration features similar to that employed by standard Java APIs
such as JAXP.Log
IMPLEMENTATION NOTE - This implementation is heavily based on the SAXParserFactory and DocumentBuilderFactory implementations (corresponding to the JAXP pluggability APIs) found in Apache Xerces.
getInstance(String) with it.
clazz Class for which a suitable Log name will be derivedLogConfigurationException if a suitable Log
instance cannot be returnedConstruct (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 returnedLog
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.
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.LogFactoryImpl).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.clazz Class from which a log name will be derivedLogConfigurationException if a suitable Log
instance cannot be returnedname 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 returnedLogFactory
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 LogFactoryLogFactory
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.
LogConfigurationException if a suitable class loader
cannot be identified.LogFactory
implementation class, loaded by the specified class loader.
If that fails, try the class loader used to load this
(abstract) LogFactory.
factoryClass Fully qualified name of the LogFactory
implementation classclassLoader ClassLoader from which to load this classLogConfigurationException if a suitable instance
cannot be created