org.apache.logging.log4j.core.jmx
Interface StatusLoggerAdminMBean

All Known Implementing Classes:
StatusLoggerAdmin

public interface StatusLoggerAdminMBean

The MBean interface for monitoring and managing the StatusLogger.


Field Summary
static String NOTIF_TYPE_DATA
          Notifications with this type have a StatusData userData object and a null message.
static String NOTIF_TYPE_MESSAGE
          Notifications with this type have a formatted status data message string but no StatusData in their userData field.
static String PATTERN
          ObjectName pattern ("org.apache.logging.log4j2:type=%s,component=StatusLogger") for StatusLoggerAdmin MBeans.
 
Method Summary
 String getContextName()
          Returns the name of the LoggerContext that the StatusLogger is associated with.
 String getLevel()
          Returns the StatusLogger level as a String.
 ObjectName getObjectName()
          Returns the ObjectName that this status logger mbean is registered with.
 List<org.apache.logging.log4j.status.StatusData> getStatusData()
          Returns a list with the most recent StatusData objects in the status history.
 String[] getStatusDataHistory()
          Returns a string array with the most recent messages in the status history.
 void setLevel(String level)
          Sets the StatusLogger level to the specified value.
 

Field Detail

PATTERN

static final String PATTERN
ObjectName pattern ("org.apache.logging.log4j2:type=%s,component=StatusLogger") for StatusLoggerAdmin MBeans. This pattern contains a variable, which is the name of the logger context.

You can find all registered StatusLoggerAdmin MBeans like this:

 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
 String pattern = String.format(StatusLoggerAdminMBean.PATTERN, "*");
 Set<ObjectName> statusLoggerNames = mbs.queryNames(new ObjectName(pattern), null);
 

Some characters are not allowed in ObjectNames. The logger context name may be quoted. When StatusLoggerAdmin MBeans are registered, their ObjectNames are created using this pattern as follows:

 String ctxName = Server.escape(loggerContext.getName());
 String name = String.format(PATTERN, ctxName);
 ObjectName objectName = new ObjectName(name);
 

See Also:
Server.escape(String), Constant Field Values

NOTIF_TYPE_DATA

static final String NOTIF_TYPE_DATA
Notifications with this type have a StatusData userData object and a null message.

See Also:
Constant Field Values

NOTIF_TYPE_MESSAGE

static final String NOTIF_TYPE_MESSAGE
Notifications with this type have a formatted status data message string but no StatusData in their userData field.

See Also:
Constant Field Values
Method Detail

getObjectName

ObjectName getObjectName()
Returns the ObjectName that this status logger mbean is registered with.

Returns:
the ObjectName of this StatusLogger MBean

getStatusData

List<org.apache.logging.log4j.status.StatusData> getStatusData()
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.

Returns:
the most recent messages logged by the StatusLogger.

getStatusDataHistory

String[] getStatusDataHistory()
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".

Returns:
the most recent messages logged by the StatusLogger.

getLevel

String getLevel()
Returns the StatusLogger level as a String.

Returns:
the StatusLogger level.

setLevel

void setLevel(String level)
Sets the StatusLogger level to the specified value.

Parameters:
level - the new StatusLogger level.
Throws:
IllegalArgumentException - if the specified level is not one of "OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", "ALL"

getContextName

String getContextName()
Returns the name of the LoggerContext that the StatusLogger is associated with.

Returns:
logger context name


Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.