public interface Plugin
extends org.apache.log4j.spi.OptionHandler
A plugin implements some specific functionality to extend the log4j framework. Each plugin is associated with a specific LoggerRepository, which it then uses/acts upon. The functionality of the plugin is up to the developer.
Examples of plugins are Receiver and Watchdog. Receiver plugins allow for remote logging events to be received and processed by a repository as if the event was sent locally. Watchdog plugins allow for a repository to be reconfigured when some "watched" configuration data changes.
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(PropertyChangeListener l)
Adds a PropertyChangeListener that will be notified of all property
changes.
|
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener l)
Adds a PropertyChangeListener to this instance which is
notified only by changes of the property with name propertyName.
|
org.apache.log4j.spi.LoggerRepository |
getLoggerRepository()
Gets the logger repository for this plugin.
|
String |
getName()
Gets the name of the plugin.
|
boolean |
isActive()
True if the plugin is active and running.
|
boolean |
isEquivalent(Plugin testPlugin)
Returns true if the testPlugin is considered to be "equivalent" to the
this plugin.
|
void |
removePropertyChangeListener(PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instances
registry that has been mapped to be notified of all property
changes.
|
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instance's
registry which has been previously registered to be notified
of only a specific property change.
|
void |
setLoggerRepository(org.apache.log4j.spi.LoggerRepository repository)
Sets the logger repository used by this plugin.
|
void |
setName(String name)
Sets the name of the plugin.
|
void |
shutdown()
Call when the plugin should be stopped.
|
String getName()
void setName(String name)
name
- the name of the plugin.org.apache.log4j.spi.LoggerRepository getLoggerRepository()
void setLoggerRepository(org.apache.log4j.spi.LoggerRepository repository)
repository
- the logger repository to attach this plugin to.void addPropertyChangeListener(String propertyName, PropertyChangeListener l)
propertyName
- the name of the property in standard JavaBean syntax
(e.g. for setName(), property="name")l
- listenervoid addPropertyChangeListener(PropertyChangeListener l)
l
- The listener to add.void removePropertyChangeListener(PropertyChangeListener l)
l
- The listener to remove.void removePropertyChangeListener(String propertyName, PropertyChangeListener l)
propertyName
- property name, may not be null.l
- listener to be removed.boolean isActive()
boolean isEquivalent(Plugin testPlugin)
The equivalency test is at the discretion of the plugin implementation. The PluginRegistry will use this method when starting new plugins to see if a given plugin is considered equivalent to an already running plugin with the same name. If they are considered to be equivalent, the currently running plugin will be left in place, and the new plugin will not be started.
It is possible to override the equals() method, however this has more meaning than is required for this simple test and would also require the overriding of the hashCode() method as well. All of this is more work than is needed, so this simple method is used instead.
testPlugin
- The plugin to test equivalency against.void shutdown()
Copyright © 2002-2017 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.