public final class org.apache.logging.log4j.core.appender.routing.RoutingAppender extends org.apache.logging.log4j.core.appender.AbstractAppender
{
public static final java.lang.String STATIC_VARIABLES_KEY;
private static final java.lang.String DEFAULT_KEY;
private final org.apache.logging.log4j.core.appender.routing.Routes routes;
private org.apache.logging.log4j.core.appender.routing.Route defaultRoute;
private final org.apache.logging.log4j.core.config.Configuration configuration;
private final java.util.concurrent.ConcurrentMap createdAppenders;
private final java.util.Map createdAppendersUnmodifiableView;
private final java.util.concurrent.ConcurrentMap referencedAppenders;
private final org.apache.logging.log4j.core.appender.rewrite.RewritePolicy rewritePolicy;
private final org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy;
private final org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript;
private final java.util.concurrent.ConcurrentMap scriptStaticVariables;
public static org.apache.logging.log4j.core.appender.routing.RoutingAppender$Builder newBuilder()
{
org.apache.logging.log4j.core.appender.routing.RoutingAppender$Builder v;
org.apache.logging.log4j.core.filter.AbstractFilterable$Builder v;
v = new org.apache.logging.log4j.core.appender.routing.RoutingAppender$Builder;
specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$Builder: org.apache.logging.log4j.core.filter.AbstractFilterable$Builder asBuilder()>();
return v;
}
private void <init>(java.lang.String, org.apache.logging.log4j.core.Filter, boolean, org.apache.logging.log4j.core.appender.routing.Routes, org.apache.logging.log4j.core.appender.rewrite.RewritePolicy, org.apache.logging.log4j.core.config.Configuration, org.apache.logging.log4j.core.appender.routing.PurgePolicy, org.apache.logging.log4j.core.script.AbstractScript, org.apache.logging.log4j.core.config.Property[])
{
org.apache.logging.log4j.core.appender.routing.Route v, v;
org.apache.logging.log4j.core.appender.rewrite.RewritePolicy v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.appender.routing.Route[] v;
java.util.Map v;
int v, v;
java.lang.String v, v, v, v;
org.apache.logging.log4j.core.appender.routing.Routes v;
boolean v;
org.apache.logging.log4j.core.appender.routing.PurgePolicy v, v, v;
org.apache.logging.log4j.core.Filter v;
org.apache.logging.log4j.core.config.Property[] v;
org.apache.logging.log4j.core.script.AbstractScript v;
java.util.concurrent.ConcurrentHashMap v, v, v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.core.Filter;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.appender.routing.Routes;
v := @parameter: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v := @parameter: org.apache.logging.log4j.core.appender.routing.PurgePolicy;
v := @parameter: org.apache.logging.log4j.core.script.AbstractScript;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
specialinvoke v.<org.apache.logging.log4j.core.appender.AbstractAppender: void <init>(java.lang.String,org.apache.logging.log4j.core.Filter,org.apache.logging.log4j.core.Layout,boolean,org.apache.logging.log4j.core.config.Property[])>(v, v, null, v, v);
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders> = v;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders>;
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.Map createdAppendersUnmodifiableView> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap referencedAppenders> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap scriptStaticVariables> = v;
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes> = v;
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration> = v;
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy rewritePolicy> = v;
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy> = v;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy>;
interfaceinvoke v.<org.apache.logging.log4j.core.appender.routing.PurgePolicy: void initialize(org.apache.logging.log4j.core.appender.routing.RoutingAppender)>(v);
label:
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript> = v;
v = null;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Routes: org.apache.logging.log4j.core.appender.routing.Route[] getRoutes()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
if v != null goto label;
if v != null goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Multiple default routes. Route \u will be ignored");
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void error(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute> = v;
return;
}
public void start()
{
javax.script.Bindings v;
org.apache.logging.log4j.core.appender.routing.Route v, v, v;
org.apache.logging.log4j.core.Appender v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.logging.log4j.core.config.Configuration v, v, v;
org.apache.logging.log4j.core.appender.routing.Route[] v;
org.apache.logging.log4j.core.script.ScriptManager v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
org.apache.logging.log4j.core.appender.routing.Routes v, v;
org.apache.logging.log4j.core.script.AbstractScript v, v, v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender$ReferencedRouteAppenderControl v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
if v != null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void error(java.lang.String)>("No Configuration defined for RoutingAppender; required for Script element.");
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.script.ScriptManager getScriptManager()>();
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript>;
v = virtualinvoke v.<org.apache.logging.log4j.core.script.ScriptManager: javax.script.Bindings createBindings(org.apache.logging.log4j.core.script.AbstractScript)>(v);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap scriptStaticVariables>;
interfaceinvoke v.<javax.script.Bindings: java.lang.Object put(java.lang.String,java.lang.Object)>("staticVariables", v);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript>;
v = virtualinvoke v.<org.apache.logging.log4j.core.script.AbstractScript: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.script.ScriptManager: java.lang.Object execute(java.lang.String,javax.script.Bindings)>(v, v);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes>;
v = staticinvoke <java.util.Objects: java.lang.String toString(java.lang.Object,java.lang.String)>(v, null);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Routes: org.apache.logging.log4j.core.appender.routing.Route getRoute(java.lang.String)>(v);
if v == null goto label;
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute> = v;
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Routes: org.apache.logging.log4j.core.appender.routing.Route[] getRoutes()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getAppenderRef()>();
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getAppenderRef()>();
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.Appender getAppender(java.lang.String)>(v);
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute>;
if v != v goto label;
v = "ROUTING_APPENDER_DEFAULT";
goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap referencedAppenders>;
v = new org.apache.logging.log4j.core.appender.routing.RoutingAppender$ReferencedRouteAppenderControl;
specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$ReferencedRouteAppenderControl: void <init>(org.apache.logging.log4j.core.Appender)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getAppenderRef()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Appender \u cannot be located. Route ignored");
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void error(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
specialinvoke v.<org.apache.logging.log4j.core.appender.AbstractAppender: void start()>();
return;
}
public boolean stop(long, java.util.concurrent.TimeUnit)
{
java.util.Iterator v;
org.apache.logging.log4j.core.Appender v;
java.util.Set v;
long v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
java.util.concurrent.TimeUnit v;
java.lang.Object v, v;
boolean v, v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void setStopping()>();
specialinvoke v.<org.apache.logging.log4j.core.appender.AbstractAppender: boolean stop(long,java.util.concurrent.TimeUnit,boolean)>(v, v, 0);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl: org.apache.logging.log4j.core.Appender getAppender()>();
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.Appender: void stop()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void setStopped()>();
return 1;
}
public void append(org.apache.logging.log4j.core.LogEvent)
{
java.lang.Throwable v;
org.apache.logging.log4j.core.appender.routing.Route v, v;
org.apache.logging.log4j.core.appender.rewrite.RewritePolicy v, v;
org.apache.logging.log4j.core.LogEvent v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl v;
java.lang.String v, v, v, v;
org.apache.logging.log4j.core.appender.routing.Routes v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy rewritePolicy>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy rewritePolicy>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.appender.rewrite.RewritePolicy: org.apache.logging.log4j.core.LogEvent rewrite(org.apache.logging.log4j.core.LogEvent)>(v);
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes>;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap scriptStaticVariables>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Routes: java.lang.String getPattern(org.apache.logging.log4j.core.LogEvent,java.util.concurrent.ConcurrentMap)>(v, v);
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.lookup.StrSubstitutor getStrSubstitutor()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.lookup.StrSubstitutor: java.lang.String replace(org.apache.logging.log4j.core.LogEvent,java.lang.String)>(v, v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
goto label;
label:
v = "ROUTING_APPENDER_DEFAULT";
label:
v = v;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl getControl(java.lang.String,org.apache.logging.log4j.core.LogEvent)>(v, v);
if v == null goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void callAppender(org.apache.logging.log4j.core.LogEvent)>(v);
label:
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void release()>();
throw v;
label:
specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void updatePurgePolicy(java.lang.String,org.apache.logging.log4j.core.LogEvent)>(v, v);
return;
catch java.lang.Throwable from label to label with label;
}
private void updatePurgePolicy(java.lang.String, org.apache.logging.log4j.core.LogEvent)
{
org.apache.logging.log4j.core.appender.routing.PurgePolicy v, v;
java.lang.String v;
org.apache.logging.log4j.core.LogEvent v;
boolean v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap referencedAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy>;
interfaceinvoke v.<org.apache.logging.log4j.core.appender.routing.PurgePolicy: void update(java.lang.String,org.apache.logging.log4j.core.LogEvent)>(v, v);
label:
return;
}
private synchronized org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl getControl(java.lang.String, org.apache.logging.log4j.core.LogEvent)
{
org.apache.logging.log4j.core.appender.routing.Route v, v;
org.apache.logging.log4j.core.Appender v;
org.apache.logging.log4j.core.LogEvent v;
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl v;
org.apache.logging.log4j.core.appender.routing.Route[] v;
int v, v;
java.lang.String v, v, v;
org.apache.logging.log4j.core.appender.routing.Routes v;
boolean v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl getAppender(java.lang.String)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void checkout()>();
return v;
label:
v = null;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Routes: org.apache.logging.log4j.core.appender.routing.Route[] getRoutes()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getAppenderRef()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
if v != null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute>;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl getAppender(java.lang.String)>("ROUTING_APPENDER_DEFAULT");
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void checkout()>();
return v;
label:
if v == null goto label;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.Appender createAppender(org.apache.logging.log4j.core.appender.routing.Route,org.apache.logging.log4j.core.LogEvent)>(v, v);
if v != null goto label;
return null;
label:
v = new org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl;
specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl: void <init>(org.apache.logging.log4j.core.Appender)>(v);
v = v;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
if v == null goto label;
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl: void checkout()>();
label:
return v;
}
private org.apache.logging.log4j.core.appender.routing.RoutingAppender$RouteAppenderControl getAppender(java.lang.String)
{
java.lang.Object v, v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: java.lang.String;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap referencedAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
return v;
}
private org.apache.logging.log4j.core.Appender createAppender(org.apache.logging.log4j.core.appender.routing.Route, org.apache.logging.log4j.core.LogEvent)
{
org.apache.logging.log4j.core.appender.routing.Route v;
org.apache.logging.log4j.core.LogEvent v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.config.Node v, v;
java.lang.String v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
java.util.List v;
org.apache.logging.log4j.core.config.plugins.util.PluginType v;
java.lang.Object v, v, v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: org.apache.logging.log4j.core.appender.routing.Route;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: org.apache.logging.log4j.core.config.Node getNode()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.util.List getChildren()>();
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 = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: org.apache.logging.log4j.core.config.plugins.util.PluginType getType()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginType: java.lang.String getElementName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("appender");
if v == 0 goto label;
v = new org.apache.logging.log4j.core.config.Node;
specialinvoke v.<org.apache.logging.log4j.core.config.Node: void <init>(org.apache.logging.log4j.core.config.Node)>(v);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void createConfiguration(org.apache.logging.log4j.core.config.Node,org.apache.logging.log4j.core.LogEvent)>(v, v);
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.lang.Object getObject()>();
v = v instanceof org.apache.logging.log4j.core.Appender;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.lang.Object getObject()>();
interfaceinvoke v.<org.apache.logging.log4j.core.Appender: void start()>();
return v;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to create Appender of type \u0001");
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void error(java.lang.String)>(v);
return null;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.Route: java.lang.String getKey()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No Appender was configured for route \u0001");
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void error(java.lang.String)>(v);
return null;
}
public java.util.Map getAppenders()
{
java.util.Map v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.Map createdAppendersUnmodifiableView>;
return v;
}
public void deleteAppender(java.lang.String)
{
java.lang.Throwable v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.Logger v, v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v := @parameter: java.lang.String;
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Deleting route with {} key ", v);
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap createdAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if null == v goto label;
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Stopping route with {} key", v);
entermonitor v;
label:
v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl: boolean pendingDeletion> = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender$CreatedRouteAppenderControl: void tryStopAppender()>();
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap referencedAppenders>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Route {} using an appender reference may not be removed because the appender may be used outside of the RoutingAppender", v);
goto label;
label:
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Route with {} key already deleted", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public static org.apache.logging.log4j.core.appender.routing.RoutingAppender createAppender(java.lang.String, java.lang.String, org.apache.logging.log4j.core.appender.routing.Routes, org.apache.logging.log4j.core.config.Configuration, org.apache.logging.log4j.core.appender.rewrite.RewritePolicy, org.apache.logging.log4j.core.appender.routing.PurgePolicy, org.apache.logging.log4j.core.Filter)
{
org.apache.logging.log4j.core.appender.routing.PurgePolicy v;
org.apache.logging.log4j.core.Filter v;
org.apache.logging.log4j.core.appender.rewrite.RewritePolicy v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.Logger v, v;
java.lang.String v, v;
org.apache.logging.log4j.core.appender.routing.Routes v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.core.appender.routing.Routes;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v := @parameter: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy;
v := @parameter: org.apache.logging.log4j.core.appender.routing.PurgePolicy;
v := @parameter: org.apache.logging.log4j.core.Filter;
v = staticinvoke <org.apache.logging.log4j.core.util.Booleans: boolean parseBoolean(java.lang.String,boolean)>(v, 1);
if v != null goto label;
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String)>("No name provided for RoutingAppender");
return null;
label:
if v != null goto label;
v = <org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String)>("No routes defined for RoutingAppender");
return null;
label:
v = new org.apache.logging.log4j.core.appender.routing.RoutingAppender;
specialinvoke v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: void <init>(java.lang.String,org.apache.logging.log4j.core.Filter,boolean,org.apache.logging.log4j.core.appender.routing.Routes,org.apache.logging.log4j.core.appender.rewrite.RewritePolicy,org.apache.logging.log4j.core.config.Configuration,org.apache.logging.log4j.core.appender.routing.PurgePolicy,org.apache.logging.log4j.core.script.AbstractScript,org.apache.logging.log4j.core.config.Property[])>(v, v, v, v, v, v, v, null, null);
return v;
}
public org.apache.logging.log4j.core.appender.routing.Route getDefaultRoute()
{
org.apache.logging.log4j.core.appender.routing.Route v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Route defaultRoute>;
return v;
}
public org.apache.logging.log4j.core.script.AbstractScript getDefaultRouteScript()
{
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.script.AbstractScript v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.script.AbstractScript defaultRouteScript>;
return v;
}
public org.apache.logging.log4j.core.appender.routing.PurgePolicy getPurgePolicy()
{
org.apache.logging.log4j.core.appender.routing.PurgePolicy v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.PurgePolicy purgePolicy>;
return v;
}
public org.apache.logging.log4j.core.appender.rewrite.RewritePolicy getRewritePolicy()
{
org.apache.logging.log4j.core.appender.rewrite.RewritePolicy v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.rewrite.RewritePolicy rewritePolicy>;
return v;
}
public org.apache.logging.log4j.core.appender.routing.Routes getRoutes()
{
org.apache.logging.log4j.core.appender.routing.Routes v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.appender.routing.Routes routes>;
return v;
}
public org.apache.logging.log4j.core.config.Configuration getConfiguration()
{
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: org.apache.logging.log4j.core.config.Configuration configuration>;
return v;
}
public java.util.concurrent.ConcurrentMap getScriptStaticVariables()
{
java.util.concurrent.ConcurrentMap v;
org.apache.logging.log4j.core.appender.routing.RoutingAppender v;
v := @this: org.apache.logging.log4j.core.appender.routing.RoutingAppender;
v = v.<org.apache.logging.log4j.core.appender.routing.RoutingAppender: java.util.concurrent.ConcurrentMap scriptStaticVariables>;
return v;
}
}