org.apache.solr.logging
Class LogWatcher<E>

java.lang.Object
  extended by org.apache.solr.logging.LogWatcher<E>
Direct Known Subclasses:
JulWatcher, Log4jWatcher

public abstract class LogWatcher<E>
extends Object

A Class to monitor Logging events and hold N events in memory This is abstract so we can support both JUL and Log4j (and other logging platforms)


Field Summary
protected  CircularList<E> history
           
protected  long last
           
 
Constructor Summary
LogWatcher()
           
 
Method Summary
 void add(E event, long timstamp)
           
abstract  List<String> getAllLevels()
           
abstract  Collection<LoggerInfo> getAllLoggers()
           
 SolrDocumentList getHistory(long since, AtomicBoolean found)
           
 int getHistorySize()
           
 long getLastEvent()
           
abstract  String getName()
           
abstract  String getThreshold()
           
abstract  long getTimestamp(E event)
           
static LogWatcher newRegisteredLogWatcher(LogWatcherConfig config, SolrResourceLoader loader)
          Create and register a LogWatcher.
abstract  void registerListener(ListenerConfig cfg)
           
 void reset()
           
abstract  void setLogLevel(String category, String level)
          Sets the log level within this framework
abstract  void setThreshold(String level)
           
abstract  SolrDocument toSolrDocument(E event)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

history

protected CircularList<E> history

last

protected long last
Constructor Detail

LogWatcher

public LogWatcher()
Method Detail

getName

public abstract String getName()
Returns:
The implementation name

getAllLevels

public abstract List<String> getAllLevels()
Returns:
The valid level names for this framework

setLogLevel

public abstract void setLogLevel(String category,
                                 String level)
Sets the log level within this framework


getAllLoggers

public abstract Collection<LoggerInfo> getAllLoggers()
Returns:
all registered loggers

setThreshold

public abstract void setThreshold(String level)

getThreshold

public abstract String getThreshold()

add

public void add(E event,
                long timstamp)

getLastEvent

public long getLastEvent()

getHistorySize

public int getHistorySize()

getHistory

public SolrDocumentList getHistory(long since,
                                   AtomicBoolean found)

getTimestamp

public abstract long getTimestamp(E event)

toSolrDocument

public abstract SolrDocument toSolrDocument(E event)

registerListener

public abstract void registerListener(ListenerConfig cfg)

reset

public void reset()

newRegisteredLogWatcher

public static LogWatcher newRegisteredLogWatcher(LogWatcherConfig config,
                                                 SolrResourceLoader loader)
Create and register a LogWatcher. JUL and Log4j watchers are supported out-of-the-box. You can register your own LogWatcher implementation via the plugins architecture

Parameters:
config - a LogWatcherConfig object, containing the configuration for this LogWatcher.
loader - a SolrResourceLoader, to be used to load plugin LogWatcher implementations. Can be null if one of the built-in implementations is being used.
Returns:
a LogWatcher configured for the container's logging framework


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.