public final class Server
extends java.lang.Object
All instrumentation for Log4j 2 classes can be disabled by setting system property -Dlog4j2.disable.jmx=true
.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
CONTEXT_NAME_ALL |
static java.lang.String |
DOMAIN
The domain part, or prefix ("org.apache.logging.log4j2") of the
ObjectName of all MBeans that instrument Log4J2 components. |
(package private) static java.util.concurrent.Executor |
executor |
private static StatusLogger |
LOGGER |
private static java.lang.String |
PROPERTY_ASYNC_NOTIF |
private static java.lang.String |
PROPERTY_DISABLE_JMX |
private static java.lang.String |
THREAD_NAME_PREFIX |
Modifier | Constructor and Description |
---|---|
private |
Server() |
Modifier and Type | Method and Description |
---|---|
private static java.util.concurrent.ExecutorService |
createExecutor()
Returns either a
null Executor (causing JMX notifications to be sent from the caller thread) or a daemon
background thread Executor, depending on the value of system property "log4j2.jmx.notify.async". |
static java.lang.String |
escape(java.lang.String name)
Either returns the specified name as is, or returns a quoted value containing the specified name with the special
characters (comma, equals, colon, quote, asterisk, or question mark) preceded with a backslash.
|
private static ContextSelector |
getContextSelector()
Returns the
ContextSelector of the current Log4jContextFactory . |
private static boolean |
isJmxDisabled() |
private static void |
register(javax.management.MBeanServer mbs,
java.lang.Object mbean,
javax.management.ObjectName objectName) |
private static void |
registerAppenders(LoggerContext ctx,
javax.management.MBeanServer mbs,
java.util.concurrent.Executor executor) |
private static void |
registerContextSelector(java.lang.String contextName,
ContextSelector selector,
javax.management.MBeanServer mbs,
java.util.concurrent.Executor executor) |
private static void |
registerLoggerConfigs(LoggerContext ctx,
javax.management.MBeanServer mbs,
java.util.concurrent.Executor executor) |
private static void |
registerStatusLogger(java.lang.String contextName,
javax.management.MBeanServer mbs,
java.util.concurrent.Executor executor) |
static void |
reregisterMBeansAfterReconfigure() |
static void |
reregisterMBeansAfterReconfigure(javax.management.MBeanServer mbs) |
private static void |
unregisterAllMatching(java.lang.String search,
javax.management.MBeanServer mbs) |
private static void |
unregisterAppenders(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static void |
unregisterAsyncAppenders(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static void |
unregisterAsyncLoggerConfigRingBufferAdmins(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static void |
unregisterAsyncLoggerRingBufferAdmins(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static void |
unregisterContexts(javax.management.MBeanServer mbs) |
private static void |
unregisterContextSelector(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static void |
unregisterLoggerConfigs(java.lang.String contextName,
javax.management.MBeanServer mbs) |
static void |
unregisterLoggerContext(java.lang.String loggerContextName)
Unregisters all MBeans associated with the specified logger context (including MBeans for
LoggerConfig s
and Appender s from the platform MBean server. |
static void |
unregisterLoggerContext(java.lang.String contextName,
javax.management.MBeanServer mbs)
Unregisters all MBeans associated with the specified logger context (including MBeans for
LoggerConfig s
and Appender s from the platform MBean server. |
static void |
unregisterMBeans()
Unregister all log4j MBeans from the platform MBean server.
|
static void |
unregisterMBeans(javax.management.MBeanServer mbs)
Unregister all log4j MBeans from the specified MBean server.
|
private static void |
unregisterStatusLogger(java.lang.String contextName,
javax.management.MBeanServer mbs) |
private static final java.lang.String CONTEXT_NAME_ALL
public static final java.lang.String DOMAIN
ObjectName
of all MBeans that instrument Log4J2 components.private static final java.lang.String PROPERTY_DISABLE_JMX
private static final java.lang.String PROPERTY_ASYNC_NOTIF
private static final java.lang.String THREAD_NAME_PREFIX
private static final StatusLogger LOGGER
static final java.util.concurrent.Executor executor
private static java.util.concurrent.ExecutorService createExecutor()
null
Executor (causing JMX notifications to be sent from the caller thread) or a daemon
background thread Executor, depending on the value of system property "log4j2.jmx.notify.async". If this
property is not set, use a null
Executor for web apps to avoid memory leaks and other issues when the
web app is restarted.public static java.lang.String escape(java.lang.String name)
name
- the name to escape so it can be used as a value in an ObjectName
.private static boolean isJmxDisabled()
public static void reregisterMBeansAfterReconfigure()
public static void reregisterMBeansAfterReconfigure(javax.management.MBeanServer mbs)
public static void unregisterMBeans()
public static void unregisterMBeans(javax.management.MBeanServer mbs)
mbs
- the MBean server to unregister from.private static ContextSelector getContextSelector()
ContextSelector
of the current Log4jContextFactory
.ContextSelector
of the current Log4jContextFactory
public static void unregisterLoggerContext(java.lang.String loggerContextName)
LoggerConfig
s
and Appender
s from the platform MBean server.loggerContextName
- name of the logger context to unregisterpublic static void unregisterLoggerContext(java.lang.String contextName, javax.management.MBeanServer mbs)
LoggerConfig
s
and Appender
s from the platform MBean server.contextName
- name of the logger context to unregistermbs
- the MBean Server to unregister the instrumented objects fromprivate static void registerStatusLogger(java.lang.String contextName, javax.management.MBeanServer mbs, java.util.concurrent.Executor executor) throws javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException
private static void registerContextSelector(java.lang.String contextName, ContextSelector selector, javax.management.MBeanServer mbs, java.util.concurrent.Executor executor) throws javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException
private static void unregisterStatusLogger(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterContextSelector(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterLoggerConfigs(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterContexts(javax.management.MBeanServer mbs)
private static void unregisterAppenders(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterAsyncAppenders(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterAsyncLoggerRingBufferAdmins(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterAsyncLoggerConfigRingBufferAdmins(java.lang.String contextName, javax.management.MBeanServer mbs)
private static void unregisterAllMatching(java.lang.String search, javax.management.MBeanServer mbs)
private static void registerLoggerConfigs(LoggerContext ctx, javax.management.MBeanServer mbs, java.util.concurrent.Executor executor) throws javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException
private static void registerAppenders(LoggerContext ctx, javax.management.MBeanServer mbs, java.util.concurrent.Executor executor) throws javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException
private static void register(javax.management.MBeanServer mbs, java.lang.Object mbean, javax.management.ObjectName objectName) throws javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException