Interface Plugin

All Superinterfaces:
org.apache.log4j.spi.OptionHandler
All Known Implementing Classes:
CustomSQLDBReceiver, DBReceiver, Generator, GUIPluginSkeleton, JMSReceiver, LogFilePatternReceiver, LogFileXMLReceiver, MulticastReceiver, PluginSkeleton, Receiver, UDPReceiver, VFSLogFilePatternReceiver, XMLSocketReceiver, ZeroConfPlugin

public interface Plugin extends org.apache.log4j.spi.OptionHandler
Defines the required interface for all Plugin objects.

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.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Adds a PropertyChangeListener that will be notified of all property changes.
    void
    Adds a PropertyChangeListener to this instance which is notified only by changes of the property with name propertyName.
    org.apache.log4j.spi.LoggerRepository
    Gets the logger repository for this plugin.
    Gets the name of the plugin.
    boolean
    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
    Removes a specific PropertyChangeListener from this instances registry that has been mapped to be notified of all property changes.
    void
    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
    Sets the name of the plugin.
    void
    Call when the plugin should be stopped.

    Methods inherited from interface org.apache.log4j.spi.OptionHandler

    activateOptions
  • Method Details

    • getName

      String getName()
      Gets the name of the plugin.
      Returns:
      String the name of the plugin.
    • setName

      void setName(String name)
      Sets the name of the plugin.
      Parameters:
      name - the name of the plugin.
    • getLoggerRepository

      org.apache.log4j.spi.LoggerRepository getLoggerRepository()
      Gets the logger repository for this plugin.
      Returns:
      the logger repository to which this plugin is attached.
    • setLoggerRepository

      void setLoggerRepository(org.apache.log4j.spi.LoggerRepository repository)
      Sets the logger repository used by this plugin. This repository will be used by the plugin functionality.
      Parameters:
      repository - the logger repository to attach this plugin to.
    • addPropertyChangeListener

      void addPropertyChangeListener(String propertyName, PropertyChangeListener l)
      Adds a PropertyChangeListener to this instance which is notified only by changes of the property with name propertyName.
      Parameters:
      propertyName - the name of the property in standard JavaBean syntax (e.g. for setName(), property="name")
      l - listener
    • addPropertyChangeListener

      void addPropertyChangeListener(PropertyChangeListener l)
      Adds a PropertyChangeListener that will be notified of all property changes.
      Parameters:
      l - The listener to add.
    • removePropertyChangeListener

      void removePropertyChangeListener(PropertyChangeListener l)
      Removes a specific PropertyChangeListener from this instances registry that has been mapped to be notified of all property changes.
      Parameters:
      l - The listener to remove.
    • removePropertyChangeListener

      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.
      Parameters:
      propertyName - property name, may not be null.
      l - listener to be removed.
    • isActive

      boolean isActive()
      True if the plugin is active and running.
      Returns:
      boolean true if the plugin is currently active.
    • isEquivalent

      boolean isEquivalent(Plugin testPlugin)
      Returns true if the testPlugin is considered to be "equivalent" to the this plugin.

      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.

      Parameters:
      testPlugin - The plugin to test equivalency against.
      Returns:
      Returns true if testPlugin is considered to be equivelent.
    • shutdown

      void shutdown()
      Call when the plugin should be stopped.