org.apache.solr.logging

## Class LogWatcher<E>

- java.lang.Object
- - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CircularList<E>` | `history`
    `protected long` | `last`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LogWatcher()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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
      Returns:
        a LogWatcher configured for the container's logging framework

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