Class StatusLogger

java.lang.Object
org.apache.logging.log4j.spi.AbstractLogger
org.apache.logging.log4j.status.StatusLogger
All Implemented Interfaces:
Serializable, Logger, ExtendedLogger, LocationAwareLogger

public final class StatusLogger extends AbstractLogger
Records events that occur in the logging system. By default, only error messages are logged to System.err. Normally, the Log4j StatusLogger is configured via the root <Configuration status="LEVEL"/> node in a Log4j configuration file. However, this can be overridden via a system property named "log4j2.StatusLogger.level" and will work with any Log4j provider.
See Also:
  • Field Details

    • MAX_STATUS_ENTRIES

      public static final String MAX_STATUS_ENTRIES
      System property that can be configured with the number of entries in the queue. Once the limit is reached older entries will be removed as new entries are added.
      See Also:
    • DEFAULT_STATUS_LISTENER_LEVEL

      public static final String DEFAULT_STATUS_LISTENER_LEVEL
      System property that can be configured with the Level name to use as the default level for StatusListeners.
      See Also:
    • STATUS_DATE_FORMAT

      public static final String STATUS_DATE_FORMAT
      System property that can be configured with a date-time format string to use as the format for timestamps in the status logger output. See SimpleDateFormat for supported formats.
      Since:
      2.11.0
      See Also:
  • Method Details

    • getLogger

      public static StatusLogger getLogger()
      Retrieve the StatusLogger.
      Returns:
      The StatusLogger.
    • setLevel

      public void setLevel(Level level)
    • registerListener

      public void registerListener(StatusListener listener)
      Registers a new listener.
      Parameters:
      listener - The StatusListener to register.
    • removeListener

      public void removeListener(StatusListener listener)
      Removes a StatusListener.
      Parameters:
      listener - The StatusListener to remove.
    • updateListenerLevel

      public void updateListenerLevel(Level status)
    • getListeners

      public Iterable<StatusListener> getListeners()
      Returns a thread safe Iterable for the StatusListener.
      Returns:
      An Iterable for the list of StatusListeners.
    • reset

      public void reset()
      Clears the list of status events and listeners.
    • getStatusData

      public List<StatusData> getStatusData()
      Returns a List of all events as StatusData objects.
      Returns:
      The list of StatusData objects.
    • clear

      public void clear()
      Clears the list of status events.
    • getLevel

      public Level getLevel()
      Description copied from interface: Logger
      Gets the Level associated with the Logger.
      Returns:
      the Level associate with the Logger.
    • logMessage

      public void logMessage(String fqcn, Level level, Marker marker, Message msg, Throwable t)
      Adds an event.
      Parameters:
      fqcn - The fully qualified class name of the caller
      level - The logging level
      marker - The Marker
      msg - The message associated with the event.
      t - A Throwable or null.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Throwable t)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      t - the exception to log, including its stack trace.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object... params)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      params - The parameters.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6)
      Description copied from interface: ExtendedLogger
      Determines if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      p8 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      p8 - the message parameters
      p9 - the message parameters
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, CharSequence message, Throwable t)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      t - A Throwable.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, Object message, Throwable t)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The message.
      t - A Throwable.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker, Message message, Throwable t)
      Description copied from interface: ExtendedLogger
      Tests if logging is enabled.
      Parameters:
      level - The logging Level to check.
      marker - A Marker or null.
      message - The Message.
      t - A Throwable.
      Returns:
      True if logging is enabled, false otherwise.
    • isEnabled

      public boolean isEnabled(Level level, Marker marker)
      Description copied from interface: Logger
      Checks whether this Logger is enabled for the given Level and Marker.
      Specified by:
      isEnabled in interface Logger
      Overrides:
      isEnabled in class AbstractLogger
      Parameters:
      level - The Level to check
      marker - The Marker to check
      Returns:
      boolean - true if this Logger is enabled for level and marker, false otherwise.