public class org.apache.logging.log4j.core.config.LockingReliabilityStrategy extends java.lang.Object implements org.apache.logging.log4j.core.config.ReliabilityStrategy, org.apache.logging.log4j.core.config.LocationAwareReliabilityStrategy
{
private final org.apache.logging.log4j.core.config.LoggerConfig loggerConfig;
private final java.util.concurrent.locks.ReadWriteLock reconfigureLock;
private volatile boolean isStopping;
public void <init>(org.apache.logging.log4j.core.config.LoggerConfig)
{
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.core.config.LoggerConfig v;
java.lang.Object v;
java.util.concurrent.locks.ReentrantReadWriteLock v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.core.config.LoggerConfig;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>()>();
v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "loggerConfig was null");
v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig loggerConfig> = v;
return;
}
public void log(org.apache.logging.log4j.util.Supplier, java.lang.String, java.lang.String, org.apache.logging.log4j.Marker, org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, java.lang.Throwable)
{
java.lang.Throwable v, v;
org.apache.logging.log4j.core.config.LoggerConfig v;
org.apache.logging.log4j.Level v;
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.message.Message v;
org.apache.logging.log4j.util.Supplier v;
org.apache.logging.log4j.core.config.ReliabilityStrategy v, v;
java.lang.String v, v;
org.apache.logging.log4j.Marker v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.util.Supplier;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.Marker;
v := @parameter: org.apache.logging.log4j.Level;
v := @parameter: org.apache.logging.log4j.message.Message;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig getActiveLoggerConfig(org.apache.logging.log4j.util.Supplier)>(v);
label:
virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: void log(java.lang.String,java.lang.String,org.apache.logging.log4j.Marker,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.lang.Throwable)>(v, v, v, v, v, v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void log(org.apache.logging.log4j.util.Supplier, java.lang.String, java.lang.String, java.lang.StackTraceElement, org.apache.logging.log4j.Marker, org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, java.lang.Throwable)
{
java.lang.Throwable v, v;
org.apache.logging.log4j.core.config.LoggerConfig v;
org.apache.logging.log4j.Level v;
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.message.Message v;
org.apache.logging.log4j.util.Supplier v;
org.apache.logging.log4j.core.config.ReliabilityStrategy v, v;
java.lang.StackTraceElement v;
java.lang.String v, v;
org.apache.logging.log4j.Marker v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.util.Supplier;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.StackTraceElement;
v := @parameter: org.apache.logging.log4j.Marker;
v := @parameter: org.apache.logging.log4j.Level;
v := @parameter: org.apache.logging.log4j.message.Message;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig getActiveLoggerConfig(org.apache.logging.log4j.util.Supplier)>(v);
label:
virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: void log(java.lang.String,java.lang.String,java.lang.StackTraceElement,org.apache.logging.log4j.Marker,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.lang.Throwable)>(v, v, v, v, v, v, v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void log(org.apache.logging.log4j.util.Supplier, org.apache.logging.log4j.core.LogEvent)
{
java.lang.Throwable v;
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.core.config.LoggerConfig v;
org.apache.logging.log4j.util.Supplier v;
org.apache.logging.log4j.core.config.ReliabilityStrategy v, v;
org.apache.logging.log4j.core.LogEvent v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.util.Supplier;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig getActiveLoggerConfig(org.apache.logging.log4j.util.Supplier)>(v);
label:
virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: void log(org.apache.logging.log4j.core.LogEvent)>(v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: void afterLogEvent()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.logging.log4j.core.config.LoggerConfig getActiveLoggerConfig(org.apache.logging.log4j.util.Supplier)
{
org.apache.logging.log4j.core.config.LoggerConfig v, v, v;
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.util.Supplier v;
org.apache.logging.log4j.core.config.ReliabilityStrategy v;
java.lang.Object v;
boolean v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.util.Supplier;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig loggerConfig>;
v = specialinvoke v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: boolean beforeLogEvent()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.logging.log4j.util.Supplier: java.lang.Object get()>();
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig loggerConfig>;
if v != v goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: org.apache.logging.log4j.core.config.ReliabilityStrategy getReliabilityStrategy()>();
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.ReliabilityStrategy: org.apache.logging.log4j.core.config.LoggerConfig getActiveLoggerConfig(org.apache.logging.log4j.util.Supplier)>(v);
label:
return v;
label:
return v;
}
private boolean beforeLogEvent()
{
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
java.util.concurrent.locks.Lock v, v;
java.util.concurrent.locks.ReadWriteLock v, v;
boolean v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock readLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: boolean isStopping>;
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock readLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return 0;
label:
return 1;
}
public void afterLogEvent()
{
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
java.util.concurrent.locks.Lock v;
java.util.concurrent.locks.ReadWriteLock v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock readLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return;
}
public void beforeStopAppenders()
{
java.lang.Throwable v;
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
java.util.concurrent.locks.Lock v, v, v;
java.util.concurrent.locks.ReadWriteLock v, v, v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock writeLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: boolean isStopping> = 1;
label:
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock writeLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.config.LockingReliabilityStrategy: java.util.concurrent.locks.ReadWriteLock reconfigureLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock writeLock()>();
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void beforeStopConfiguration(org.apache.logging.log4j.core.config.Configuration)
{
org.apache.logging.log4j.core.config.LockingReliabilityStrategy v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.logging.log4j.core.config.LockingReliabilityStrategy;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
return;
}
}