public class org.apache.logging.log4j.core.LoggerContext extends org.apache.logging.log4j.core.AbstractLifeCycle implements org.apache.logging.log4j.spi.LoggerContext, java.lang.AutoCloseable, org.apache.logging.log4j.spi.Terminable, org.apache.logging.log4j.core.config.ConfigurationListener, org.apache.logging.log4j.spi.LoggerContextShutdownEnabled
{
public static final java.lang.String PROPERTY_CONFIG;
private static final org.apache.logging.log4j.core.config.Configuration NULL_CONFIGURATION;
private final org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry;
private final java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners;
private volatile java.util.List listeners;
private volatile org.apache.logging.log4j.core.config.Configuration configuration;
private static final java.lang.String EXTERNAL_CONTEXT_KEY;
private java.util.concurrent.ConcurrentMap externalMap;
private java.lang.String contextName;
private volatile java.net.URI configLocation;
private org.apache.logging.log4j.core.util.Cancellable shutdownCallback;
private final java.util.concurrent.locks.Lock configLock;
public void <init>(java.lang.String)
{
java.lang.String v;
java.net.URI v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = null;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void <init>(java.lang.String,java.lang.Object,java.net.URI)>(v, null, v);
return;
}
public void <init>(java.lang.String, java.lang.Object)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.lang.String v;
java.net.URI v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = null;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void <init>(java.lang.String,java.lang.Object,java.net.URI)>(v, v, v);
return;
}
public void <init>(java.lang.String, java.lang.Object, java.net.URI)
{
org.apache.logging.log4j.core.config.DefaultConfiguration v;
java.util.concurrent.locks.ReentrantLock v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.Object v;
java.lang.String v;
java.net.URI v;
org.apache.logging.log4j.spi.LoggerRegistry v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: java.net.URI;
specialinvoke v.<org.apache.logging.log4j.core.AbstractLifeCycle: void <init>()>();
v = new org.apache.logging.log4j.spi.LoggerRegistry;
specialinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry> = v;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners> = v;
v = new org.apache.logging.log4j.core.config.DefaultConfiguration;
specialinvoke v.<org.apache.logging.log4j.core.config.DefaultConfiguration: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock> = v;
v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName> = v;
if v != null goto label;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__");
goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__", v);
label:
v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation> = v;
return;
}
public void <init>(java.lang.String, java.lang.Object, java.lang.String)
{
org.apache.logging.log4j.core.config.DefaultConfiguration v;
java.util.concurrent.locks.ReentrantLock v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.concurrent.ConcurrentHashMap v;
java.io.File v;
java.lang.Exception v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.Object v;
java.lang.String v, v;
java.net.URI v;
org.apache.logging.log4j.spi.LoggerRegistry v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.logging.log4j.core.AbstractLifeCycle: void <init>()>();
v = new org.apache.logging.log4j.spi.LoggerRegistry;
specialinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry> = v;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners> = v;
v = new org.apache.logging.log4j.core.config.DefaultConfiguration;
specialinvoke v.<org.apache.logging.log4j.core.config.DefaultConfiguration: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock> = v;
v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName> = v;
if v != null goto label;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__");
goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__", v);
label:
if v == null goto label;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation> = v;
goto label;
label:
v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation> = null;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void addShutdownListener(org.apache.logging.log4j.spi.LoggerContextShutdownAware)
{
java.lang.Throwable v;
java.util.List v, v, v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.spi.LoggerContextShutdownAware v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.spi.LoggerContextShutdownAware;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
if v != null goto label;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public java.util.List getListeners()
{
java.util.List v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
return v;
}
public static org.apache.logging.log4j.core.LoggerContext getContext()
{
org.apache.logging.log4j.spi.LoggerContext v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContext getContext()>();
return v;
}
public static org.apache.logging.log4j.core.LoggerContext getContext(boolean)
{
org.apache.logging.log4j.spi.LoggerContext v;
boolean v;
v := @parameter: boolean;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContext getContext(boolean)>(v);
return v;
}
public static org.apache.logging.log4j.core.LoggerContext getContext(java.lang.ClassLoader, boolean, java.net.URI)
{
java.lang.ClassLoader v;
java.net.URI v;
org.apache.logging.log4j.spi.LoggerContext v;
boolean v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: boolean;
v := @parameter: java.net.URI;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContext getContext(java.lang.ClassLoader,boolean,java.net.URI)>(v, v, v);
return v;
}
public void start()
{
java.lang.Throwable v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.util.PropertiesUtil v;
org.apache.logging.log4j.core.config.Configuration v;
java.lang.String v, v;
boolean v, v, v, v, v;
java.lang.Exception v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.logging.log4j.Logger v, v, v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}, {}]...", v, v);
v = staticinvoke <org.apache.logging.log4j.util.PropertiesUtil: org.apache.logging.log4j.util.PropertiesUtil getProperties()>();
v = virtualinvoke v.<org.apache.logging.log4j.util.PropertiesUtil: boolean getBooleanProperty(java.lang.String,boolean)>("log4j.LoggerContext.stacktrace.on.start", 0);
if v == 0 goto label;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>("Not a real error, showing stack trace to locate invoker");
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Stack trace to locate invoker", v);
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.Lock: boolean tryLock()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: boolean isInitialized()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: boolean isStopped()>();
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStarting()>();
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void reconfigure()>();
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: boolean isShutdownHookEnabled()>();
if v == 0 goto label;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setUpShutdownHook()>();
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStarted()>();
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("LoggerContext[name={}, {}] started OK.", v, v);
return;
catch java.lang.Throwable from label to label with label;
}
public void start(org.apache.logging.log4j.core.config.Configuration)
{
java.lang.Throwable v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v, v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.logging.log4j.Logger v, v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}, {}] with configuration {}...", v, v, v);
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.Lock: boolean tryLock()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: boolean isInitialized()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: boolean isStopped()>();
if v == 0 goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: boolean isShutdownHookEnabled()>();
if v == 0 goto label;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setUpShutdownHook()>();
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStarted()>();
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration setConfiguration(org.apache.logging.log4j.core.config.Configuration)>(v);
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("LoggerContext[name={}, {}] started OK with configuration {}.", v, v, v);
return;
catch java.lang.Throwable from label to label with label;
}
private void setUpShutdownHook()
{
org.apache.logging.log4j.core.LoggerContext$1 v;
java.lang.IllegalStateException v, v;
org.apache.logging.log4j.core.util.Cancellable v, v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.spi.LoggerContextFactory v;
long v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.Logger v, v;
java.lang.SecurityException v;
org.apache.logging.log4j.Marker v, v;
boolean v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.util.Cancellable shutdownCallback>;
if v != null goto label;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContextFactory getFactory()>();
v = v instanceof org.apache.logging.log4j.core.util.ShutdownCallbackRegistry;
if v == 0 goto label;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = <org.apache.logging.log4j.core.util.ShutdownCallbackRegistry: org.apache.logging.log4j.Marker SHUTDOWN_HOOK_MARKER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(org.apache.logging.log4j.Marker,java.lang.String)>(v, "Shutdown hook enabled. Registering a new one.");
staticinvoke <org.apache.logging.log4j.core.util.ExecutorServices: void ensureInitialized()>();
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: long getShutdownTimeoutMillis()>();
v = new org.apache.logging.log4j.core.LoggerContext$1;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext$1: void <init>(org.apache.logging.log4j.core.LoggerContext,long)>(v, v);
v = interfaceinvoke v.<org.apache.logging.log4j.core.util.ShutdownCallbackRegistry: org.apache.logging.log4j.core.util.Cancellable addShutdownCallback(java.lang.Runnable)>(v);
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.util.Cancellable shutdownCallback> = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to register Log4j shutdown hook because JVM is shutting down.", v);
throw v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = <org.apache.logging.log4j.core.util.ShutdownCallbackRegistry: org.apache.logging.log4j.Marker SHUTDOWN_HOOK_MARKER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(org.apache.logging.log4j.Marker,java.lang.String,java.lang.Throwable)>(v, "Unable to register shutdown hook due to security restrictions", v);
label:
return;
catch java.lang.IllegalStateException from label to label with label;
catch java.lang.SecurityException from label to label with label;
}
public void close()
{
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void stop()>();
return;
}
public void terminate()
{
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void stop()>();
return;
}
public boolean stop(long, java.util.concurrent.TimeUnit)
{
java.lang.Throwable v, v;
org.apache.logging.log4j.core.util.Cancellable v, v;
org.apache.logging.log4j.core.LoggerContext v;
long v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.config.Configuration v, v;
java.lang.Boolean v;
java.lang.String v, v, v;
boolean v, v, v;
java.util.Iterator v;
org.apache.logging.log4j.spi.LoggerContextFactory v;
java.lang.Exception v;
java.util.concurrent.TimeUnit v;
java.util.List v, v;
java.util.concurrent.locks.Lock v, v, v, v;
org.apache.logging.log4j.Logger v, v, v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Stopping LoggerContext[name={}, {}]...", v, v);
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: boolean isStopped()>();
if v == 0 goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStopped()>();
return 1;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStopping()>();
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
staticinvoke <org.apache.logging.log4j.core.jmx.Server: void unregisterLoggerContext(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Unable to unregister MBeans", v);
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.util.Cancellable shutdownCallback>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.util.Cancellable shutdownCallback>;
interfaceinvoke v.<org.apache.logging.log4j.core.util.Cancellable: void cancel()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.util.Cancellable shutdownCallback> = null;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration NULL_CONFIGURATION>;
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration> = v;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void updateLoggers()>();
v = v instanceof org.apache.logging.log4j.core.LifeCycle;
if v == 0 goto label;
interfaceinvoke v.<org.apache.logging.log4j.core.LifeCycle2: boolean stop(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void stop()>();
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContextFactory getFactory()>();
interfaceinvoke v.<org.apache.logging.log4j.spi.LoggerContextFactory: void removeContext(org.apache.logging.log4j.spi.LoggerContext)>(v);
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStopped()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setStopped()>();
throw v;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.List listeners>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
interfaceinvoke v.<org.apache.logging.log4j.spi.LoggerContextShutdownAware: void contextShutdown(org.apache.logging.log4j.spi.LoggerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Stopped LoggerContext[name={}, {}] with status {}", v, v, v);
return 1;
catch java.lang.LinkageError from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
public java.lang.String getName()
{
java.lang.String v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
return v;
}
public org.apache.logging.log4j.core.Logger getRootLogger()
{
org.apache.logging.log4j.core.Logger v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.Logger getLogger(java.lang.String)>("");
return v;
}
public void setName(java.lang.String)
{
java.lang.Object v;
java.lang.String v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName> = v;
return;
}
public java.lang.Object getObject(java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public java.lang.Object putObject(java.lang.String, java.lang.Object)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v, v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public java.lang.Object putObjectIfAbsent(java.lang.String, java.lang.Object)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v, v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public java.lang.Object removeObject(java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
return v;
}
public boolean removeObject(java.lang.String, java.lang.Object)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.lang.String v;
boolean v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean remove(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public void setExternalContext(java.lang.Object)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.util.concurrent.ConcurrentMap v, v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.Object;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__", v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__");
label:
return;
}
public java.lang.Object getExternalContext()
{
java.lang.Object v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__");
return v;
}
public org.apache.logging.log4j.core.Logger getLogger(java.lang.String)
{
java.lang.String v;
org.apache.logging.log4j.core.Logger v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.Logger getLogger(java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, null);
return v;
}
public java.util.Collection getLoggers()
{
org.apache.logging.log4j.spi.LoggerRegistry v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.Collection v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: java.util.Collection getLoggers()>();
return v;
}
public org.apache.logging.log4j.core.Logger getLogger(java.lang.String, org.apache.logging.log4j.message.MessageFactory)
{
org.apache.logging.log4j.message.MessageFactory v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.spi.ExtendedLogger v, v;
java.lang.String v;
org.apache.logging.log4j.core.Logger v;
org.apache.logging.log4j.spi.LoggerRegistry v, v, v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.message.MessageFactory;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: org.apache.logging.log4j.spi.ExtendedLogger getLogger(java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, v);
if v == null goto label;
staticinvoke <org.apache.logging.log4j.spi.AbstractLogger: void checkMessageFactory(org.apache.logging.log4j.spi.ExtendedLogger,org.apache.logging.log4j.message.MessageFactory)>(v, v);
return v;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.Logger newInstance(org.apache.logging.log4j.core.LoggerContext,java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, v, v);
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: void putIfAbsent(java.lang.String,org.apache.logging.log4j.message.MessageFactory,org.apache.logging.log4j.spi.ExtendedLogger)>(v, v, v);
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: org.apache.logging.log4j.spi.ExtendedLogger getLogger(java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, v);
return v;
}
public org.apache.logging.log4j.spi.LoggerRegistry getLoggerRegistry()
{
org.apache.logging.log4j.spi.LoggerRegistry v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
return v;
}
public boolean hasLogger(java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.String v;
org.apache.logging.log4j.spi.LoggerRegistry v;
boolean v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: boolean hasLogger(java.lang.String)>(v);
return v;
}
public boolean hasLogger(java.lang.String, org.apache.logging.log4j.message.MessageFactory)
{
org.apache.logging.log4j.message.MessageFactory v;
org.apache.logging.log4j.core.LoggerContext v;
java.lang.String v;
org.apache.logging.log4j.spi.LoggerRegistry v;
boolean v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.message.MessageFactory;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: boolean hasLogger(java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, v);
return v;
}
public boolean hasLogger(java.lang.String, java.lang.Class)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Class v;
java.lang.String v;
org.apache.logging.log4j.spi.LoggerRegistry v;
boolean v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: boolean hasLogger(java.lang.String,java.lang.Class)>(v, v);
return v;
}
public org.apache.logging.log4j.core.config.Configuration getConfiguration()
{
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
return v;
}
public void addFilter(org.apache.logging.log4j.core.Filter)
{
org.apache.logging.log4j.core.Filter v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.Filter;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void addFilter(org.apache.logging.log4j.core.Filter)>(v);
return;
}
public void removeFilter(org.apache.logging.log4j.core.Filter)
{
org.apache.logging.log4j.core.Filter v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.Filter;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void removeFilter(org.apache.logging.log4j.core.Filter)>(v);
return;
}
public org.apache.logging.log4j.core.config.Configuration setConfiguration(org.apache.logging.log4j.core.config.Configuration)
{
java.lang.Throwable v, v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.function.Function v;
org.apache.logging.log4j.core.config.Configuration v, v, v, v;
org.apache.logging.log4j.core.util.NanoClock v;
java.lang.String v, v, v;
java.beans.PropertyChangeEvent v;
java.lang.Exception v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.logging.log4j.Logger v, v, v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
if v != null goto label;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object)>("No configuration found for context \'{}\'.", v);
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
return v;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void addListener(org.apache.logging.log4j.core.config.ConfigurationListener)>(v);
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: java.lang.Object getComponent(java.lang.String)>("ContextProperties");
label:
v = staticinvoke <org.apache.logging.log4j.core.LoggerContext$lambda_setConfiguration_0__1221: java.util.function.Function bootstrap$()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>("hostName", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Ignoring {}, setting hostName to \'unknown\'", v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>("hostName", "unknown");
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>("contextName", v);
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void start()>();
v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration> = v;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void updateLoggers()>();
if v == null goto label;
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void removeListener(org.apache.logging.log4j.core.config.ConfigurationListener)>(v);
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void stop()>();
label:
v = new java.beans.PropertyChangeEvent;
specialinvoke v.<java.beans.PropertyChangeEvent: void <init>(java.lang.Object,java.lang.String,java.lang.Object,java.lang.Object)>(v, "config", v, v);
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void firePropertyChangeEvent(java.beans.PropertyChangeEvent)>(v);
label:
staticinvoke <org.apache.logging.log4j.core.jmx.Server: void reregisterMBeansAfterReconfigure()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Could not reconfigure JMX", v);
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.util.NanoClock getNanoClock()>();
staticinvoke <org.apache.logging.log4j.core.impl.Log4jLogEvent: void setNanoClock(org.apache.logging.log4j.core.util.NanoClock)>(v);
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.locks.Lock configLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.lang.Exception from label to label with label;
catch java.lang.LinkageError from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void firePropertyChangeEvent(java.beans.PropertyChangeEvent)
{
java.util.Iterator v;
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.beans.PropertyChangeEvent v;
boolean v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.beans.PropertyChangeEvent;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners>;
v = virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.beans.PropertyChangeListener: void propertyChange(java.beans.PropertyChangeEvent)>(v);
goto label;
label:
return;
}
public void addPropertyChangeListener(java.beans.PropertyChangeListener)
{
java.beans.PropertyChangeListener v;
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Object v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.beans.PropertyChangeListener;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners>;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "listener");
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: boolean add(java.lang.Object)>(v);
return;
}
public void removePropertyChangeListener(java.beans.PropertyChangeListener)
{
java.beans.PropertyChangeListener v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.beans.PropertyChangeListener;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.CopyOnWriteArrayList propertyChangeListeners>;
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: boolean remove(java.lang.Object)>(v);
return;
}
public java.net.URI getConfigLocation()
{
java.net.URI v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation>;
return v;
}
public void setConfigLocation(java.net.URI)
{
java.net.URI v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.net.URI;
v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation> = v;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void reconfigure(java.net.URI)>(v);
return;
}
private void reconfigure(java.net.URI)
{
org.apache.logging.log4j.core.LoggerContext v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.config.Configuration v, v, v;
java.lang.String v, v, v, v, v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v;
org.apache.logging.log4j.Logger v, v, v;
java.lang.Class v;
java.lang.Object v;
java.lang.ClassLoader v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.net.URI;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.util.concurrent.ConcurrentMap externalMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>("__EXTERNAL_CONTEXT_KEY__");
v = class "Ljava/lang/ClassLoader;";
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = null;
label:
v = v;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("Reconfiguration started for context[name={}] at URI {} ({}) with optional ClassLoader: {}", v, v, v, v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()>();
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.Configuration getConfiguration(org.apache.logging.log4j.core.LoggerContext,java.lang.String,java.net.URI,java.lang.ClassLoader)>(v, v, v, v);
if v != null goto label;
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Reconfiguration failed: No configuration found for \'{}\' at \'{}\' in \'{}\'", v, v, v);
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration setConfiguration(org.apache.logging.log4j.core.config.Configuration)>(v);
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
if v != null goto label;
v = "?";
goto label;
label:
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
label:
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("Reconfiguration complete for context[name={}] at URI {} ({}) with optional ClassLoader: {}", v, v, v, v);
label:
return;
}
public void reconfigure()
{
java.net.URI v;
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation>;
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void reconfigure(java.net.URI)>(v);
return;
}
public void reconfigure(org.apache.logging.log4j.core.config.Configuration)
{
org.apache.logging.log4j.core.LoggerContext v;
java.net.URI v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration setConfiguration(org.apache.logging.log4j.core.config.Configuration)>(v);
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.net.URI getURI()>();
if v == null goto label;
v.<org.apache.logging.log4j.core.LoggerContext: java.net.URI configLocation> = v;
label:
return;
}
public void updateLoggers()
{
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void updateLoggers(org.apache.logging.log4j.core.config.Configuration)>(v);
return;
}
public void updateLoggers(org.apache.logging.log4j.core.config.Configuration)
{
java.util.Iterator v;
org.apache.logging.log4j.core.LoggerContext v;
java.util.Collection v;
org.apache.logging.log4j.core.config.Configuration v, v;
java.lang.Object v;
org.apache.logging.log4j.spi.LoggerRegistry v;
java.beans.PropertyChangeEvent v;
boolean v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration configuration>;
v = v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.spi.LoggerRegistry loggerRegistry>;
v = virtualinvoke v.<org.apache.logging.log4j.spi.LoggerRegistry: java.util.Collection getLoggers()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.logging.log4j.core.Logger: void updateConfiguration(org.apache.logging.log4j.core.config.Configuration)>(v);
goto label;
label:
v = new java.beans.PropertyChangeEvent;
specialinvoke v.<java.beans.PropertyChangeEvent: void <init>(java.lang.Object,java.lang.String,java.lang.Object,java.lang.Object)>(v, "config", v, v);
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void firePropertyChangeEvent(java.beans.PropertyChangeEvent)>(v);
return;
}
public synchronized void onChange(org.apache.logging.log4j.core.config.Reconfigurable)
{
org.apache.logging.log4j.core.config.Reconfigurable v;
org.apache.logging.log4j.core.LoggerContext v;
long v, v, v, v, v;
org.apache.logging.log4j.core.config.Configuration v;
java.lang.Long v, v;
java.lang.String v, v, v;
org.apache.logging.log4j.Logger v, v, v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.Reconfigurable;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Reconfiguration started for context {} ({})", v, v);
specialinvoke v.<org.apache.logging.log4j.core.LoggerContext: void initApiModule()>();
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Reconfigurable: org.apache.logging.log4j.core.config.Configuration reconfigure()>();
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration setConfiguration(org.apache.logging.log4j.core.config.Configuration)>(v);
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Reconfiguration completed for {} ({}) in {} milliseconds.", v, v, v);
goto label;
label:
v = <org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String contextName>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Reconfiguration failed for {} ({}) in {} milliseconds.", v, v, v);
label:
return;
}
private void initApiModule()
{
org.apache.logging.log4j.core.LoggerContext v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
staticinvoke <org.apache.logging.log4j.spi.ThreadContextMapFactory: void init()>();
return;
}
protected org.apache.logging.log4j.core.Logger newInstance(org.apache.logging.log4j.core.LoggerContext, java.lang.String, org.apache.logging.log4j.message.MessageFactory)
{
org.apache.logging.log4j.message.MessageFactory v;
org.apache.logging.log4j.core.LoggerContext v, v;
java.lang.String v;
org.apache.logging.log4j.core.Logger v;
v := @this: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.message.MessageFactory;
v = new org.apache.logging.log4j.core.Logger;
specialinvoke v.<org.apache.logging.log4j.core.Logger: void <init>(org.apache.logging.log4j.core.LoggerContext,java.lang.String,org.apache.logging.log4j.message.MessageFactory)>(v, v, v);
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.core.config.NullConfiguration v;
v = new org.apache.logging.log4j.core.config.NullConfiguration;
specialinvoke v.<org.apache.logging.log4j.core.config.NullConfiguration: void <init>()>();
<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration NULL_CONFIGURATION> = v;
return;
}
}