public abstract class org.apache.logging.log4j.core.config.ConfigurationFactory extends org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory
{
public static final java.lang.String CONFIGURATION_FACTORY_PROPERTY;
public static final java.lang.String CONFIGURATION_FILE_PROPERTY;
public static final java.lang.String LOG4J1_CONFIGURATION_FILE_PROPERTY;
public static final java.lang.String LOG4J1_EXPERIMENTAL;
public static final java.lang.String AUTHORIZATION_PROVIDER;
public static final java.lang.String CATEGORY;
protected static final org.apache.logging.log4j.Logger LOGGER;
protected static final java.lang.String TEST_PREFIX;
protected static final java.lang.String DEFAULT_PREFIX;
protected static final java.lang.String LOG4J1_VERSION;
protected static final java.lang.String LOG4J2_VERSION;
private static final java.lang.String CLASS_LOADER_SCHEME;
private static final java.lang.String CLASS_PATH_SCHEME;
private static final java.lang.String OVERRIDE_PARAM;
private static volatile java.util.List factories;
private static org.apache.logging.log4j.core.config.ConfigurationFactory configFactory;
protected final org.apache.logging.log4j.core.lookup.StrSubstitutor substitutor;
private static final java.util.concurrent.locks.Lock LOCK;
private static final java.lang.String HTTPS;
private static final java.lang.String HTTP;
private static final java.lang.String[] PREFIXES;
private static volatile org.apache.logging.log4j.core.util.AuthorizationProvider authorizationProvider;
public void <init>()
{
org.apache.logging.log4j.core.lookup.Interpolator v;
org.apache.logging.log4j.core.lookup.ConfigurationStrSubstitutor v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
specialinvoke v.<org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory: void <init>()>();
v = new org.apache.logging.log4j.core.lookup.ConfigurationStrSubstitutor;
v = new org.apache.logging.log4j.core.lookup.Interpolator;
specialinvoke v.<org.apache.logging.log4j.core.lookup.Interpolator: void <init>()>();
specialinvoke v.<org.apache.logging.log4j.core.lookup.ConfigurationStrSubstitutor: void <init>(org.apache.logging.log4j.core.lookup.StrLookup)>(v);
v.<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.lookup.StrSubstitutor substitutor> = v;
return;
}
public static org.apache.logging.log4j.core.config.ConfigurationFactory getInstance()
{
java.lang.Throwable v;
org.apache.logging.log4j.util.PropertiesUtil v;
java.util.ArrayList v, v;
java.util.Map v;
int v;
java.lang.String v;
org.apache.logging.log4j.core.config.ConfigurationFactory v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Collection v;
org.apache.logging.log4j.core.util.AuthorizationProvider v;
java.lang.Exception v;
org.apache.logging.log4j.core.config.plugins.util.PluginManager v;
java.util.List v, v, v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.logging.log4j.Logger v, v;
java.lang.Class v, v, v;
java.lang.Object v, v;
java.util.Comparator v;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.List factories>;
if v != null goto label;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.concurrent.locks.Lock LOCK>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.List factories>;
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = staticinvoke <org.apache.logging.log4j.util.PropertiesUtil: org.apache.logging.log4j.util.PropertiesUtil getProperties()>();
v = virtualinvoke v.<org.apache.logging.log4j.util.PropertiesUtil: java.lang.String getStringProperty(java.lang.String)>("log4j.configurationFactory");
if v == null goto label;
staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: void addFactory(java.util.Collection,java.lang.String)>(v, v);
label:
v = new org.apache.logging.log4j.core.config.plugins.util.PluginManager;
specialinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginManager: void <init>(java.lang.String)>("ConfigurationFactory");
virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginManager: void collectPlugins()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginManager: java.util.Map getPlugins()>();
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
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()>();
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginType: java.lang.Class getPluginClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class asSubclass(java.lang.Class)>(class "Lorg/apache/logging/log4j/core/config/ConfigurationFactory;");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginType: java.lang.Class getPluginClass()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to add class {}", v, v);
goto label;
label:
v = staticinvoke <org.apache.logging.log4j.core.config.OrderComparator: java.util.Comparator getInstance()>();
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, 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()>();
staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: void addFactory(java.util.Collection,java.lang.Class)>(v, v);
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
<org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.List factories> = v;
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.util.AuthorizationProvider authorizationProvider(org.apache.logging.log4j.util.PropertiesUtil)>(v);
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.util.AuthorizationProvider authorizationProvider> = v;
label:
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.concurrent.locks.Lock LOCK>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.concurrent.locks.Lock LOCK>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Using configurationFactory {}", v);
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory>;
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static org.apache.logging.log4j.core.util.AuthorizationProvider authorizationProvider(org.apache.logging.log4j.util.PropertiesUtil)
{
java.lang.String[] v;
org.apache.logging.log4j.util.PropertiesUtil v;
java.lang.Exception v;
org.apache.logging.log4j.Logger v, v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v, v;
org.apache.logging.log4j.core.util.BasicAuthorizationProvider v;
boolean v;
v := @parameter: org.apache.logging.log4j.util.PropertiesUtil;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.lang.String[] PREFIXES>;
v = virtualinvoke v.<org.apache.logging.log4j.util.PropertiesUtil: java.lang.String getStringProperty(java.lang.String[],java.lang.String,org.apache.logging.log4j.util.Supplier)>(v, "authorizationProvider", null);
if v == null goto label;
label:
v = staticinvoke <org.apache.logging.log4j.util.LoaderUtil: java.lang.Object newInstanceOf(java.lang.String)>(v);
v = v instanceof org.apache.logging.log4j.core.util.AuthorizationProvider;
if v != 0 goto label;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object)>("{} is not an AuthorizationProvider, using default", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to create {}, using default: {}", v, v);
label:
if v != null goto label;
v = new org.apache.logging.log4j.core.util.BasicAuthorizationProvider;
specialinvoke v.<org.apache.logging.log4j.core.util.BasicAuthorizationProvider: void <init>(org.apache.logging.log4j.util.PropertiesUtil)>(v);
v = v;
label:
return v;
catch java.lang.Exception from label to label with label;
}
public static org.apache.logging.log4j.core.util.AuthorizationProvider getAuthorizationProvider()
{
org.apache.logging.log4j.core.util.AuthorizationProvider v;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.util.AuthorizationProvider authorizationProvider>;
return v;
}
private static void addFactory(java.util.Collection, java.lang.String)
{
org.apache.logging.log4j.Logger v;
java.util.Collection v;
java.lang.Class v, v;
java.lang.String v;
java.lang.Exception v;
v := @parameter: java.util.Collection;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.logging.log4j.core.util.Loader: java.lang.Class loadClass(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Class asSubclass(java.lang.Class)>(class "Lorg/apache/logging/log4j/core/config/ConfigurationFactory;");
staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: void addFactory(java.util.Collection,java.lang.Class)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to load class {}", v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
private static void addFactory(java.util.Collection, java.lang.Class)
{
org.apache.logging.log4j.Logger v;
java.util.Collection v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
java.lang.Exception v;
v := @parameter: java.util.Collection;
v := @parameter: java.lang.Class;
label:
v = staticinvoke <org.apache.logging.log4j.core.util.ReflectionUtil: java.lang.Object instantiate(java.lang.Class)>(v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to create instance of {}", v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public static void setConfigurationFactory(org.apache.logging.log4j.core.config.ConfigurationFactory)
{
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @parameter: org.apache.logging.log4j.core.config.ConfigurationFactory;
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory> = v;
return;
}
public static void resetConfigurationFactory()
{
org.apache.logging.log4j.core.config.ConfigurationFactory$Factory v;
v = new org.apache.logging.log4j.core.config.ConfigurationFactory$Factory;
specialinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory$Factory: void <init>()>();
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory> = v;
return;
}
public static void removeConfigurationFactory(org.apache.logging.log4j.core.config.ConfigurationFactory)
{
org.apache.logging.log4j.core.config.ConfigurationFactory$Factory v;
org.apache.logging.log4j.core.config.ConfigurationFactory v, v;
v := @parameter: org.apache.logging.log4j.core.config.ConfigurationFactory;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory>;
if v != v goto label;
v = new org.apache.logging.log4j.core.config.ConfigurationFactory$Factory;
specialinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory$Factory: void <init>()>();
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory> = v;
label:
return;
}
protected abstract java.lang.String[] getSupportedTypes();
protected java.lang.String getTestPrefix()
{
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
return "log4j2-test";
}
protected java.lang.String getDefaultPrefix()
{
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
return "log4j2";
}
protected java.lang.String getVersion()
{
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
return "2";
}
protected boolean isActive()
{
org.apache.logging.log4j.core.config.ConfigurationFactory v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
return 1;
}
public abstract org.apache.logging.log4j.core.config.Configuration getConfiguration(org.apache.logging.log4j.core.LoggerContext, org.apache.logging.log4j.core.config.ConfigurationSource);
public org.apache.logging.log4j.core.config.Configuration getConfiguration(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.net.URI)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.String v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.net.URI;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory: boolean isActive()>();
if v != 0 goto label;
return null;
label:
if v == null goto label;
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationSource: org.apache.logging.log4j.core.config.ConfigurationSource fromUri(java.net.URI)>(v);
if v == null goto label;
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);
return v;
label:
return null;
}
public org.apache.logging.log4j.core.config.Configuration getConfiguration(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.net.URI, java.lang.ClassLoader)
{
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v, v, v;
java.lang.ClassLoader v;
java.lang.String v, v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
boolean v, v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.net.URI;
v := @parameter: java.lang.ClassLoader;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory: boolean isActive()>();
if v != 0 goto label;
return null;
label:
if v != null goto label;
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);
return v;
label:
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: boolean isClassLoaderUri(java.net.URI)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationFactory: java.lang.String extractClassLoaderUriPath(java.net.URI)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationSource: org.apache.logging.log4j.core.config.ConfigurationSource fromResource(java.lang.String,java.lang.ClassLoader)>(v, v);
if v == null goto label;
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);
if v == null goto label;
return v;
label:
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);
return v;
}
static boolean isClassLoaderUri(java.net.URI)
{
java.lang.String v;
java.net.URI v;
boolean v, v, v;
v := @parameter: java.net.URI;
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("classloader");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("classpath");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static java.lang.String extractClassLoaderUriPath(java.net.URI)
{
java.lang.String v, v;
java.net.URI v;
v := @parameter: java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
if v != null goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
goto label;
label:
v = virtualinvoke v.<java.net.URI: java.lang.String getSchemeSpecificPart()>();
label:
return v;
}
protected org.apache.logging.log4j.core.config.ConfigurationSource getInputFromString(java.lang.String, java.lang.ClassLoader)
{
java.lang.ClassLoader v;
java.lang.String v;
java.net.URI v;
org.apache.logging.log4j.core.config.ConfigurationFactory v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationFactory;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <org.apache.logging.log4j.core.util.NetUtils: java.net.URI toURI(java.lang.String)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.ConfigurationSource: org.apache.logging.log4j.core.config.ConfigurationSource fromUri(java.net.URI)>(v);
return v;
}
static java.util.List getFactories()
{
java.util.List v;
v = <org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.List factories>;
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.core.config.ConfigurationFactory$Factory v;
java.util.concurrent.locks.ReentrantLock v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.String[] v;
v = staticinvoke <org.apache.logging.log4j.status.StatusLogger: org.apache.logging.log4j.status.StatusLogger getLogger()>();
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.Logger LOGGER> = v;
v = new org.apache.logging.log4j.core.config.ConfigurationFactory$Factory;
specialinvoke v.<org.apache.logging.log4j.core.config.ConfigurationFactory$Factory: void <init>()>();
<org.apache.logging.log4j.core.config.ConfigurationFactory: org.apache.logging.log4j.core.config.ConfigurationFactory configFactory> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
<org.apache.logging.log4j.core.config.ConfigurationFactory: java.util.concurrent.locks.Lock LOCK> = v;
v = newarray (java.lang.String)[2];
v[0] = "log4j.";
v[1] = "log4j.Configuration.";
<org.apache.logging.log4j.core.config.ConfigurationFactory: java.lang.String[] PREFIXES> = v;
return;
}
}