Interface StatusLoggerAdminMBean
-
- All Known Implementing Classes:
StatusLoggerAdmin
public interface StatusLoggerAdminMBean
The MBean interface for monitoring and managing theStatusLogger
.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NOTIF_TYPE_DATA
Notifications with this type have aStatusData
userData object and anull
message.static java.lang.String
NOTIF_TYPE_MESSAGE
Notifications with this type have a formatted status data message string but noStatusData
in their userData field.static java.lang.String
PATTERN
ObjectName pattern ("org.apache.logging.log4j2:type=%s,component=StatusLogger") for StatusLoggerAdmin MBeans.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
getContextName()
Returns the name of the LoggerContext that theStatusLogger
is associated with.java.lang.String
getLevel()
Returns theStatusLogger
level as a String.javax.management.ObjectName
getObjectName()
Returns theObjectName
that this status logger mbean is registered with.java.util.List<StatusData>
getStatusData()
Returns a list with the most recentStatusData
objects in the status history.java.lang.String[]
getStatusDataHistory()
Returns a string array with the most recent messages in the status history.void
setLevel(java.lang.String level)
Sets theStatusLogger
level to the specified value.
-
-
-
Field Detail
-
PATTERN
static final java.lang.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 java.lang.String NOTIF_TYPE_DATA
Notifications with this type have aStatusData
userData object and anull
message.- See Also:
- Constant Field Values
-
NOTIF_TYPE_MESSAGE
static final java.lang.String NOTIF_TYPE_MESSAGE
Notifications with this type have a formatted status data message string but noStatusData
in their userData field.- See Also:
- Constant Field Values
-
-
Method Detail
-
getObjectName
javax.management.ObjectName getObjectName()
Returns theObjectName
that this status logger mbean is registered with.- Returns:
- the ObjectName of this StatusLogger MBean
-
getStatusData
java.util.List<StatusData> getStatusData()
Returns a list with the most recentStatusData
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
Throwable
s 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
Throwable
s in their classpath.- Returns:
- the most recent messages logged by the
StatusLogger
.
-
getStatusDataHistory
java.lang.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
java.lang.String getLevel()
Returns theStatusLogger
level as a String.- Returns:
- the
StatusLogger
level.
-
setLevel
void setLevel(java.lang.String level)
Sets theStatusLogger
level to the specified value.- Parameters:
level
- the newStatusLogger
level.- Throws:
java.lang.IllegalArgumentException
- if the specified level is not one of "OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", "ALL"
-
getContextName
java.lang.String getContextName()
Returns the name of the LoggerContext that theStatusLogger
is associated with.- Returns:
- logger context name
-
-