Class StatusLoggerAdmin

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.util.EventListener, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, StatusLoggerAdminMBean, StatusListener

    public class StatusLoggerAdmin
    extends javax.management.NotificationBroadcasterSupport
    implements StatusListener, StatusLoggerAdminMBean
    Implementation of the StatusLoggerAdminMBean interface.
    • Constructor Summary

      Constructors 
      Constructor Description
      StatusLoggerAdmin​(java.lang.String contextName, java.util.concurrent.Executor executor)
      Constructs a new StatusLoggerAdmin with the Executor to be used for sending Notifications asynchronously to listeners.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      java.lang.String getContextName()
      Returns the name of the LoggerContext that the StatusLogger is associated with.
      java.lang.String getLevel()
      Returns the StatusLogger level as a String.
      javax.management.ObjectName getObjectName()
      Returns the ObjectName of this mbean.
      java.util.List<StatusData> getStatusData()
      Returns a list with the most recent StatusData objects in the status history.
      java.lang.String[] getStatusDataHistory()
      Returns a string array with the most recent messages in the status history.
      Level getStatusLevel()
      Return the Log Level that this listener wants included.
      void log​(StatusData data)
      Called as events occur to process the StatusData.
      void setLevel​(java.lang.String level)
      Sets the StatusLogger level to the specified value.
      • Methods inherited from class javax.management.NotificationBroadcasterSupport

        addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StatusLoggerAdmin

        public StatusLoggerAdmin​(java.lang.String contextName,
                                 java.util.concurrent.Executor executor)
        Constructs a new StatusLoggerAdmin with the Executor to be used for sending Notifications asynchronously to listeners.
        Parameters:
        contextName - name of the LoggerContext under which to register this StatusLoggerAdmin. Note that the StatusLogger may be registered multiple times, once for each LoggerContext. In web containers, each web application has its own LoggerContext and by associating the StatusLogger with the LoggerContext, all associated MBeans can be unloaded when the web application is undeployed.
        executor - used to send notifications asynchronously
    • Method Detail

      • getStatusDataHistory

        public java.lang.String[] getStatusDataHistory()
        Description copied from interface: StatusLoggerAdminMBean
        Returns a string array with the most recent messages in the status history. The list has up to 200 entries by default but the length can be configured with system property "log4j2.status.entries".
        Specified by:
        getStatusDataHistory in interface StatusLoggerAdminMBean
        Returns:
        the most recent messages logged by the StatusLogger.
      • getStatusData

        public java.util.List<StatusData> getStatusData()
        Description copied from interface: StatusLoggerAdminMBean
        Returns a list with the most recent StatusData objects in the status history. The list has up to 200 entries by default but the length can be configured with system property "log4j2.status.entries".

        Note that the returned objects may contain Throwables from external libraries.

        JMX clients calling this method must be prepared to deal with the errors that occur if they do not have the class definition for such Throwables in their classpath.

        Specified by:
        getStatusData in interface StatusLoggerAdminMBean
        Returns:
        the most recent messages logged by the StatusLogger.
      • getStatusLevel

        public Level getStatusLevel()
        Description copied from interface: StatusListener
        Return the Log Level that this listener wants included.
        Specified by:
        getStatusLevel in interface StatusListener
        Returns:
        the Log Level.
      • setLevel

        public void setLevel​(java.lang.String level)
        Description copied from interface: StatusLoggerAdminMBean
        Sets the StatusLogger level to the specified value.
        Specified by:
        setLevel in interface StatusLoggerAdminMBean
        Parameters:
        level - the new StatusLogger level.
      • getContextName

        public java.lang.String getContextName()
        Description copied from interface: StatusLoggerAdminMBean
        Returns the name of the LoggerContext that the StatusLogger is associated with.
        Specified by:
        getContextName in interface StatusLoggerAdminMBean
        Returns:
        logger context name
      • log

        public void log​(StatusData data)
        Description copied from interface: StatusListener
        Called as events occur to process the StatusData.
        Specified by:
        log in interface StatusListener
        Parameters:
        data - The StatusData for the event.
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException