org.apache.commons.logging.impl

Class SLF4JLogFactory

public class SLF4JLogFactory extends LogFactory

Concrete subclass of LogFactory which always delegates to the org.slf4j.LoggerFactory class.

This factory generates instances of SLF4JLog. It will remember previously created instances for the same name, and will return them on repeated requests to the getInstance() method.

This implementation ignores any configured attributes.

Author: Rod Waldhoff Craig R. McClanahan Richard A. Sitze Ceki Gülcü

Field Summary
protected Hashtableattributes
Configuration attributes.
static StringLOG_PROPERTY
The name of the system property identifying our Logimplementation class.
Constructor Summary
SLF4JLogFactory()
Public no-arguments constructor required by the lookup mechanism.
Method Summary
ObjectgetAttribute(String name)
Return the configuration attribute with the specified name (if any), or null if there is no such attribute.
String[]getAttributeNames()
Return an array containing the names of all currently defined configuration attributes.
LoggetInstance(Class clazz)
Convenience method to derive a name from the specified class and call getInstance(String) with it.
LoggetInstance(String name)

Construct (if necessary) and return a Log instance, using the factory's current set of configuration attributes.

voidrelease()
Release any internal references to previously created Loginstances returned by this factory.
voidremoveAttribute(String name)
Remove any configuration attribute associated with the specified name.
voidsetAttribute(String name, Object value)
Set the configuration attribute with the specified name.

Field Detail

attributes

protected Hashtable attributes
Configuration attributes.

LOG_PROPERTY

public static final String LOG_PROPERTY
The name of the system property identifying our Logimplementation class.

Constructor Detail

SLF4JLogFactory

public SLF4JLogFactory()
Public no-arguments constructor required by the lookup mechanism.

Method Detail

getAttribute

public Object getAttribute(String name)
Return the configuration attribute with the specified name (if any), or null if there is no such attribute.

Parameters: name Name of the attribute to return

getAttributeNames

public String[] getAttributeNames()
Return an array containing the names of all currently defined configuration attributes. If there are no such attributes, a zero length array is returned.

getInstance

public Log getInstance(Class clazz)
Convenience method to derive a name from the specified class and call getInstance(String) with it.

Parameters: clazz Class for which a suitable Log name will be derived

Throws: LogConfigurationException if a suitable Log instance cannot be returned

getInstance

public Log getInstance(String name)

Construct (if necessary) and return a Log instance, using the factory's current set of configuration attributes.

Parameters: 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)

Throws: LogConfigurationException if a suitable Log instance cannot be returned

release

public void release()
Release any internal references to previously created Loginstances 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.

removeAttribute

public void removeAttribute(String name)
Remove any configuration attribute associated with the specified name. If there is no such attribute, no action is taken.

Parameters: name Name of the attribute to remove

setAttribute

public void setAttribute(String name, Object value)
Set the configuration attribute with the specified name. Calling this with a null value is equivalent to calling removeAttribute(name).

Parameters: name Name of the attribute to set value Value of the attribute to set, or null to remove any setting for this attribute

Copyright © 2005-2010 QOS.ch. All Rights Reserved.