Log4j 1.3alpha-6

org.apache.log4j.config
Interface ConfigWatchdog


public interface ConfigWatchdog

Defines the basic interface that all ConfigWatchdogs must support.

ConfigWatchdogs "watch" a log4j configuration source, and when new, changed configuration data is available, the watchdog will initiate a reconfiguration of the log4j settings using the new configuration data.

All watchdogs can have a name and configurator class. The configurator class will be used when reconfiguring using the new data. All watchdogs can be started and stopped.

Several different ConfigWatchdog classes are available in the org.apache.log4j.config package, such as FileWatchdog (watches a configuration file), HttpWatchdog (watches a configuration file at a url location), and SocketWatchdog (watches a socket for incoming configuration data).

If these are not sufficient, developers are encouraged to implement specific versions of ConfigWatchdogs for their particular needs. This can be done by subclassing the WatchdogBase or URLWatchdogBase abstract classes, or to write their own class that implements the ConfigWatchdog interface. Please see the above mentioned classes for more information.

Since:
1.3
Author:
Mark Womack

Method Summary
 java.lang.Class getConfiguratorClass()
          Gets the configurator class used for reconfiguration.
 java.lang.String getConfiguratorClassName()
          Gets the configurator class name used for reconfiguration.
 LoggerRepository getLoggerRepository()
          Get the logger repository this watchdog will reconfigure when new configuration data is detected.
 java.lang.String getName()
          Get the name of this watchdog.
 boolean isRunning()
          Returns true if this watchdog is currently running.
 void setConfiguratorClass(java.lang.Class clazz)
          Sets the configurator class used for reconfiguration.
 void setConfiguratorClassName(java.lang.String className)
          Sets the configurator class name used for reconfiguration.
 void setLoggerRepository(LoggerRepository repository)
          Set the logger repository this watchdog will reconfigure when new configuration data is detected.
 void setName(java.lang.String name)
          Set the name of this watchdog.
 void startWatching()
          Starts this watchdog watching.
 void stopWatching()
          Stops this watchdog.
 

Method Detail

isRunning

public boolean isRunning()
Returns true if this watchdog is currently running.


setName

public void setName(java.lang.String name)
Set the name of this watchdog. The name is used by other components to identify this watchdog.


getName

public java.lang.String getName()
Get the name of this watchdog. The name uniquely identifies the watchdog.


setConfiguratorClassName

public void setConfiguratorClassName(java.lang.String className)
Sets the configurator class name used for reconfiguration.


getConfiguratorClassName

public java.lang.String getConfiguratorClassName()
Gets the configurator class name used for reconfiguration.


setConfiguratorClass

public void setConfiguratorClass(java.lang.Class clazz)
Sets the configurator class used for reconfiguration.


getConfiguratorClass

public java.lang.Class getConfiguratorClass()
Gets the configurator class used for reconfiguration.


setLoggerRepository

public void setLoggerRepository(LoggerRepository repository)
Set the logger repository this watchdog will reconfigure when new configuration data is detected. If not set, should default to the return value of LogManager.getLoggerRepository().


getLoggerRepository

public LoggerRepository getLoggerRepository()
Get the logger repository this watchdog will reconfigure when new configuration data is detected. Default is the return value of LogManager.getLoggerRepository().


startWatching

public void startWatching()
Starts this watchdog watching. After calling this method the watchdog will be active.


stopWatching

public void stopWatching()
Stops this watchdog. After calling this method the watchdog will become inactive, but it is not guaranteed to be immediately inactive. If threads are involved in the implementation, it may take time for them to be interupted and exited.


Log4j 1.3alpha-6

Copyright 2000-2005 Apache Software Foundation.