public class org.apache.logging.log4j.core.impl.Log4jContextFactory extends java.lang.Object implements org.apache.logging.log4j.spi.LoggerContextFactory, org.apache.logging.log4j.core.util.ShutdownCallbackRegistry
{
private static final org.apache.logging.log4j.status.StatusLogger LOGGER;
private static final boolean SHUTDOWN_HOOK_ENABLED;
private final org.apache.logging.log4j.core.selector.ContextSelector selector;
private final org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry;
public void <init>()
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = staticinvoke <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector createContextSelector()>();
v = staticinvoke <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry createShutdownCallbackRegistry()>();
specialinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: void <init>(org.apache.logging.log4j.core.selector.ContextSelector,org.apache.logging.log4j.core.util.ShutdownCallbackRegistry)>(v, v);
return;
}
public void <init>(org.apache.logging.log4j.core.selector.ContextSelector)
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: org.apache.logging.log4j.core.selector.ContextSelector;
v = staticinvoke <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry createShutdownCallbackRegistry()>();
specialinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: void <init>(org.apache.logging.log4j.core.selector.ContextSelector,org.apache.logging.log4j.core.util.ShutdownCallbackRegistry)>(v, v);
return;
}
public void <init>(org.apache.logging.log4j.core.util.ShutdownCallbackRegistry)
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry;
v = staticinvoke <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector createContextSelector()>();
specialinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: void <init>(org.apache.logging.log4j.core.selector.ContextSelector,org.apache.logging.log4j.core.util.ShutdownCallbackRegistry)>(v, v);
return;
}
public void <init>(org.apache.logging.log4j.core.selector.ContextSelector, org.apache.logging.log4j.core.util.ShutdownCallbackRegistry)
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: org.apache.logging.log4j.core.selector.ContextSelector;
v := @parameter: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "No ContextSelector provided");
v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "No ShutdownCallbackRegistry provided");
v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry> = v;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object)>("Using ShutdownCallbackRegistry {}", v);
specialinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: void initializeShutdownCallbackRegistry()>();
return;
}
private static org.apache.logging.log4j.core.selector.ContextSelector createContextSelector()
{
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Object v;
java.lang.Exception v;
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector v;
label:
v = staticinvoke <org.apache.logging.log4j.core.util.Loader: java.lang.Object newCheckedInstanceOfProperty(java.lang.String,java.lang.Class)>("Log4jContextSelector", class "Lorg/apache/logging/log4j/core/selector/ContextSelector;");
if v == null goto label;
label:
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Throwable)>("Unable to create custom ContextSelector. Falling back to default.", v);
label:
v = new org.apache.logging.log4j.core.selector.ClassLoaderContextSelector;
specialinvoke v.<org.apache.logging.log4j.core.selector.ClassLoaderContextSelector: void <init>()>();
return v;
catch java.lang.Exception from label to label with label;
}
private static org.apache.logging.log4j.core.util.ShutdownCallbackRegistry createShutdownCallbackRegistry()
{
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Object v;
java.lang.Exception v;
org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry v;
label:
v = staticinvoke <org.apache.logging.log4j.core.util.Loader: java.lang.Object newCheckedInstanceOfProperty(java.lang.String,java.lang.Class)>("log4j.shutdownCallbackRegistry", class "Lorg/apache/logging/log4j/core/util/ShutdownCallbackRegistry;");
if v == null goto label;
label:
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Throwable)>("Unable to create custom ShutdownCallbackRegistry. Falling back to default.", v);
label:
v = new org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry;
specialinvoke v.<org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry: void <init>()>();
return v;
catch java.lang.Exception from label to label with label;
}
private void initializeShutdownCallbackRegistry()
{
java.lang.IllegalStateException v;
java.lang.RuntimeException v;
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v, v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.status.StatusLogger v, v;
boolean v, v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = virtualinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: boolean isShutdownHookEnabled()>();
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry>;
v = v instanceof org.apache.logging.log4j.core.LifeCycle;
if v == 0 goto label;
label:
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry>;
interfaceinvoke v.<org.apache.logging.log4j.core.LifeCycle: void start()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String)>("Cannot start ShutdownCallbackRegistry, already shutting down.");
throw v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Throwable)>("There was an error starting the ShutdownCallbackRegistry.", v);
label:
return;
catch java.lang.IllegalStateException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.lang.Object, boolean)
{
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.Object v, v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,boolean)>(v, v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.Object getExternalContext()>();
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setExternalContext(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start()>();
label:
return v;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.lang.Object, boolean, org.apache.logging.log4j.core.config.ConfigurationSource)
{
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.String v, v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v;
java.lang.ThreadLocal v, v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Object v, v;
java.lang.ClassLoader v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.ConfigurationSource;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,boolean,java.net.URI)>(v, v, v, null);
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.Object getExternalContext()>();
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setExternalContext(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
if v == null goto label;
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.Configuration getConfiguration(org.apache.logging.log4j.core.LoggerContext,org.apache.logging.log4j.core.config.ConfigurationSource)>(v, v);
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}] from configuration {}", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start()>();
label:
return v;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.lang.Object, boolean, org.apache.logging.log4j.core.config.Configuration)
{
java.lang.Throwable v;
java.lang.ThreadLocal v, v, v;
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.Object v, v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,boolean,java.net.URI)>(v, v, v, null);
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.Object getExternalContext()>();
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setExternalContext(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
label:
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.lang.Object, boolean, java.net.URI, java.lang.String)
{
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.String v, v, v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v;
java.lang.ThreadLocal v, v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Object v, v;
java.lang.ClassLoader v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: java.net.URI;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,boolean,java.net.URI)>(v, v, v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.Object getExternalContext()>();
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setExternalContext(java.lang.Object)>(v);
label:
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setName(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
if v != null goto label;
if v == null goto label;
label:
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()>();
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)>(v, v, v);
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}] from configuration at {}", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start()>();
label:
return v;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.util.Map$Entry, boolean, java.net.URI, java.lang.String)
{
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.String v, v, v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v;
java.lang.ThreadLocal v, v;
java.util.Map$Entry v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.ClassLoader v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.util.Map$Entry;
v := @parameter: boolean;
v := @parameter: java.net.URI;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,java.util.Map$Entry,boolean,java.net.URI)>(v, v, v, v, v);
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setName(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
if v != null goto label;
if v == null goto label;
label:
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()>();
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)>(v, v, v);
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}] from configuration at {}", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start()>();
label:
return v;
}
public org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String, java.lang.ClassLoader, java.lang.Object, boolean, java.util.List, java.lang.String)
{
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v, v, v, v, v, v;
java.lang.ThreadLocal v, v;
org.apache.logging.log4j.core.config.composite.CompositeConfiguration v;
java.util.List v;
java.lang.ClassLoader v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
java.util.ArrayList v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.Iterator v;
org.apache.logging.log4j.core.LifeCycle$State v, v;
org.apache.logging.log4j.status.StatusLogger v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: org.apache.logging.log4j.core.LoggerContext getContext(java.lang.String,java.lang.ClassLoader,boolean,java.net.URI)>(v, v, v, null);
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.Object getExternalContext()>();
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setExternalContext(java.lang.Object)>(v);
label:
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void setName(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.LifeCycle$State getState()>();
v = <org.apache.logging.log4j.core.LifeCycle$State: org.apache.logging.log4j.core.LifeCycle$State INITIALIZED>;
if v != v goto label;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
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()>();
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()>();
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)>(v, v, v);
if v == null goto label;
v = v instanceof org.apache.logging.log4j.core.config.DefaultConfiguration;
if v == 0 goto label;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void warn(java.lang.String,java.lang.Object)>("Unable to locate configuration {}, ignoring", v);
goto label;
label:
v = v instanceof org.apache.logging.log4j.core.config.AbstractConfiguration;
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Object)>("Found configuration {}, which is not an AbstractConfiguration and can\'t be handled by CompositeConfiguration", v);
goto label;
label:
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void info(java.lang.String,java.lang.Object)>("Unable to access configuration {}, ignoring", v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Object)>("No configurations could be created for {}", v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.AbstractConfiguration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.lang.String getLocation()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}] from configuration at {}", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
goto label;
label:
v = new org.apache.logging.log4j.core.config.composite.CompositeConfiguration;
specialinvoke v.<org.apache.logging.log4j.core.config.composite.CompositeConfiguration: void <init>(java.util.List)>(v);
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: java.lang.String getName()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting LoggerContext[name={}] from configurations at {}", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start(org.apache.logging.log4j.core.config.Configuration)>(v);
label:
v = <org.apache.logging.log4j.core.impl.ContextAnchor: java.lang.ThreadLocal THREAD_CONTEXT>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void start()>();
label:
return v;
}
public void shutdown(java.lang.String, java.lang.ClassLoader, boolean, boolean)
{
org.apache.logging.log4j.core.selector.ContextSelector v, v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v, v, v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: boolean;
v := @parameter: boolean;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: boolean hasContext(java.lang.String,java.lang.ClassLoader,boolean)>(v, v, v);
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: void shutdown(java.lang.String,java.lang.ClassLoader,boolean,boolean)>(v, v, v, v);
label:
return;
}
public boolean hasContext(java.lang.String, java.lang.ClassLoader, boolean)
{
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v := @parameter: boolean;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: boolean hasContext(java.lang.String,java.lang.ClassLoader,boolean)>(v, v, v);
return v;
}
public org.apache.logging.log4j.core.selector.ContextSelector getSelector()
{
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
return v;
}
public org.apache.logging.log4j.core.util.ShutdownCallbackRegistry getShutdownCallbackRegistry()
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry>;
return v;
}
public void removeContext(org.apache.logging.log4j.spi.LoggerContext)
{
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
org.apache.logging.log4j.spi.LoggerContext v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: org.apache.logging.log4j.spi.LoggerContext;
v = v instanceof org.apache.logging.log4j.core.LoggerContext;
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: void removeContext(org.apache.logging.log4j.core.LoggerContext)>(v);
label:
return;
}
public boolean isClassLoaderDependent()
{
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.selector.ContextSelector v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.selector.ContextSelector selector>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.selector.ContextSelector: boolean isClassLoaderDependent()>();
return v;
}
public org.apache.logging.log4j.core.util.Cancellable addShutdownCallback(java.lang.Runnable)
{
org.apache.logging.log4j.core.util.ShutdownCallbackRegistry v;
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
org.apache.logging.log4j.core.util.Cancellable v;
java.lang.Runnable v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v := @parameter: java.lang.Runnable;
v = virtualinvoke v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: boolean isShutdownHookEnabled()>();
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.core.util.ShutdownCallbackRegistry shutdownCallbackRegistry>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.util.ShutdownCallbackRegistry: org.apache.logging.log4j.core.util.Cancellable addShutdownCallback(java.lang.Runnable)>(v);
goto label;
label:
v = null;
label:
return v;
}
public boolean isShutdownHookEnabled()
{
org.apache.logging.log4j.core.impl.Log4jContextFactory v;
boolean v;
v := @this: org.apache.logging.log4j.core.impl.Log4jContextFactory;
v = <org.apache.logging.log4j.core.impl.Log4jContextFactory: boolean SHUTDOWN_HOOK_ENABLED>;
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.status.StatusLogger v;
org.apache.logging.log4j.util.PropertiesUtil v;
boolean v, v, v;
v = staticinvoke <org.apache.logging.log4j.status.StatusLogger: org.apache.logging.log4j.status.StatusLogger getLogger()>();
<org.apache.logging.log4j.core.impl.Log4jContextFactory: org.apache.logging.log4j.status.StatusLogger LOGGER> = 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.shutdownHookEnabled", 1);
if v == 0 goto label;
v = <org.apache.logging.log4j.core.util.Constants: boolean IS_WEB_APP>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.logging.log4j.core.impl.Log4jContextFactory: boolean SHUTDOWN_HOOK_ENABLED> = v;
return;
}
}