org.oddjob.logging.log4j
Class Log4jArchiver

java.lang.Object
  extended by org.oddjob.logging.log4j.Log4jArchiver
All Implemented Interfaces:
LogArchiver

public class Log4jArchiver
extends Object
implements LogArchiver

A LogArchiver which archives using Log4j. This Archiver works by adding a Log4j appender to all Components in the hierarchy using their logger property.


Field Summary
 
Fields inherited from interface org.oddjob.logging.LogArchiver
MAX_HISTORY, NO_LOG_AVAILABLE
 
Constructor Summary
Log4jArchiver(Object root, String pattern)
           
 
Method Summary
 void addLogListener(LogListener l, Object component, LogLevel level, long last, int history)
          Add a listener to the archiver which will receive all missed events.
static LogLevel convertLevel(org.apache.log4j.Level level)
          Utility function to convert Log4j log level.
 boolean hasArchive(String archive)
           
 void onDestroy()
           
 void removeLogListener(LogListener l, Object component)
          Remove the LogListener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Log4jArchiver

public Log4jArchiver(Object root,
                     String pattern)
Method Detail

hasArchive

public boolean hasArchive(String archive)

addLogListener

public void addLogListener(LogListener l,
                           Object component,
                           LogLevel level,
                           long last,
                           int history)
Description copied from interface: LogArchiver
Add a listener to the archiver which will receive all missed events. The idea of receiving only missed events is to minimise network traffic when used remotely.

Event numbers begin at 0. To recieve all events, last must be -1.

Specified by:
addLogListener in interface LogArchiver
Parameters:
l - The logListener which will recieve the events.
level - The level of events required.
last - The last event number recieved. The LogArchive will not send messages from before this number.
history - The maximum messages to send up to the most recent.

removeLogListener

public void removeLogListener(LogListener l,
                              Object component)
Description copied from interface: LogArchiver
Remove the LogListener.

Specified by:
removeLogListener in interface LogArchiver
Parameters:
l - The LogListener.

onDestroy

public void onDestroy()

convertLevel

public static LogLevel convertLevel(org.apache.log4j.Level level)
Utility function to convert Log4j log level.

Parameters:
level - The log4j level.
Returns:
The Oddjob level.