Package org.apache.solr.logging
Class LogWatcher<E>
- java.lang.Object
-
- org.apache.solr.logging.LogWatcher<E>
-
- Direct Known Subclasses:
JulWatcher,Log4j2Watcher
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 Log4j2 (and other logging platforms)
-
-
Field Summary
Fields Modifier and Type Field Description protected CircularList<E>historyprotected longlast
-
Constructor Summary
Constructors Constructor Description LogWatcher()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidadd(E event, long timstamp)abstract List<String>getAllLevels()abstract Collection<LoggerInfo>getAllLoggers()SolrDocumentListgetHistory(long since, AtomicBoolean found)intgetHistorySize()longgetLastEvent()abstract StringgetName()abstract StringgetThreshold()abstract longgetTimestamp(E event)static LogWatchernewRegisteredLogWatcher(LogWatcherConfig config, SolrResourceLoader loader)Create and register a LogWatcher.abstract voidregisterListener(ListenerConfig cfg)voidreset()abstract voidsetLogLevel(String category, String level)Sets the log level within this frameworkabstract voidsetThreshold(String level)abstract SolrDocumenttoSolrDocument(E event)
-
-
-
Field Detail
-
history
protected CircularList<E> history
-
last
protected long last
-
-
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- Returns:
- a LogWatcher configured for the container's logging framework
-
-