public class org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor extends org.apache.logging.log4j.core.AbstractLifeCycle implements org.apache.logging.log4j.core.async.AsyncLoggerConfigDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor
super_class: org.apache.logging.log4j.core.AbstractLifeCycle
{
private static final int MAX_DRAIN_ATTEMPTS_BEFORE_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 200
private static final int SLEEP_MILLIS_BETWEEN_DRAIN_ATTEMPTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
private static final com.lmax.disruptor.EventFactory<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper> FACTORY;
descriptor: Lcom/lmax/disruptor/EventFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/lmax/disruptor/EventFactory<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
private static final com.lmax.disruptor.EventFactory<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper> MUTABLE_FACTORY;
descriptor: Lcom/lmax/disruptor/EventFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/lmax/disruptor/EventFactory<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
private static final com.lmax.disruptor.EventTranslatorTwoArg<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper, org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig> TRANSLATOR;
descriptor: Lcom/lmax/disruptor/EventTranslatorTwoArg;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/lmax/disruptor/EventTranslatorTwoArg<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;>;
private static final com.lmax.disruptor.EventTranslatorTwoArg<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper, org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig> MUTABLE_TRANSLATOR;
descriptor: Lcom/lmax/disruptor/EventTranslatorTwoArg;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/lmax/disruptor/EventTranslatorTwoArg<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;>;
private int ringBufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.logging.log4j.core.async.AsyncQueueFullPolicy asyncQueueFullPolicy;
descriptor: Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean mutable;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private volatile com.lmax.disruptor.dsl.Disruptor<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper> disruptor;
descriptor: Lcom/lmax/disruptor/dsl/Disruptor;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
private long backgroundThreadId;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private com.lmax.disruptor.EventFactory<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper> factory;
descriptor: Lcom/lmax/disruptor/EventFactory;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/lmax/disruptor/EventFactory<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
private com.lmax.disruptor.EventTranslatorTwoArg<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper, org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig> translator;
descriptor: Lcom/lmax/disruptor/EventTranslatorTwoArg;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/lmax/disruptor/EventTranslatorTwoArg<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;>;
private volatile boolean alreadyLoggedWarning;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.Object queueFullEnqueueLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$1
dup
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$1.<init>:()V
putstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.FACTORY:Lcom/lmax/disruptor/EventFactory;
1: new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$2
dup
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$2.<init>:()V
putstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.MUTABLE_FACTORY:Lcom/lmax/disruptor/EventFactory;
2: new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$3
dup
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$3.<init>:()V
3: putstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.TRANSLATOR:Lcom/lmax/disruptor/EventTranslatorTwoArg;
4: new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$4
dup
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$4.<init>:()V
5: putstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.MUTABLE_TRANSLATOR:Lcom/lmax/disruptor/EventTranslatorTwoArg;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.logging.log4j.core.AbstractLifeCycle.<init>:()V
1: aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.mutable:Ljava/lang/Boolean;
2: aload 0
iconst_0
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.alreadyLoggedWarning:Z
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.queueFullEnqueueLock:Ljava/lang/Object;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
public void setLogEventFactory(org.apache.logging.log4j.core.impl.LogEventFactory);
descriptor: (Lorg/apache/logging/log4j/core/impl/LogEventFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.mutable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
aload 1
instanceof org.apache.logging.log4j.core.impl.ReusableLogEventFactory
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor
1: iconst_1
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor org.apache.logging.log4j.core.impl.LogEventFactory
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor int
2: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.mutable:Ljava/lang/Boolean;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 4 1 logEventFactory Lorg/apache/logging/log4j/core/impl/LogEventFactory;
MethodParameters:
Name Flags
logEventFactory final
public synchronized void start();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
ifnull 3
1: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor not starting new disruptor for this configuration, using existing object."
invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor creating new disruptor for this configuration."
invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;)V
4: aload 0
ldc "AsyncLoggerConfig.RingBufferSize"
invokestatic org.apache.logging.log4j.core.async.DisruptorUtil.calculateRingBufferSize:(Ljava/lang/String;)I
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.ringBufferSize:I
5: ldc "AsyncLoggerConfig.WaitStrategy"
invokestatic org.apache.logging.log4j.core.async.DisruptorUtil.createWaitStrategy:(Ljava/lang/String;)Lcom/lmax/disruptor/WaitStrategy;
astore 1
start local 1 6: new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$5
dup
aload 0
ldc "AsyncLoggerConfig"
iconst_1
iconst_5
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$5.<init>:(Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;Ljava/lang/String;ZI)V
astore 2
start local 2 7: aload 0
invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.create:()Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.asyncQueueFullPolicy:Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
8: aload 0
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.mutable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.MUTABLE_TRANSLATOR:Lcom/lmax/disruptor/EventTranslatorTwoArg;
goto 10
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor com.lmax.disruptor.WaitStrategy java.util.concurrent.ThreadFactory
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor
9: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.TRANSLATOR:Lcom/lmax/disruptor/EventTranslatorTwoArg;
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor com.lmax.disruptor.WaitStrategy java.util.concurrent.ThreadFactory
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor com.lmax.disruptor.EventTranslatorTwoArg
10: putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.translator:Lcom/lmax/disruptor/EventTranslatorTwoArg;
11: aload 0
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.mutable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.MUTABLE_FACTORY:Lcom/lmax/disruptor/EventFactory;
goto 13
StackMap locals:
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor
12: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.FACTORY:Lcom/lmax/disruptor/EventFactory;
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor com.lmax.disruptor.WaitStrategy java.util.concurrent.ThreadFactory
StackMap stack: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor com.lmax.disruptor.EventFactory
13: putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.factory:Lcom/lmax/disruptor/EventFactory;
14: aload 0
new com.lmax.disruptor.dsl.Disruptor
dup
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.factory:Lcom/lmax/disruptor/EventFactory;
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.ringBufferSize:I
aload 2
getstatic com.lmax.disruptor.dsl.ProducerType.MULTI:Lcom/lmax/disruptor/dsl/ProducerType;
aload 1
invokespecial com.lmax.disruptor.dsl.Disruptor.<init>:(Lcom/lmax/disruptor/EventFactory;ILjava/util/concurrent/ThreadFactory;Lcom/lmax/disruptor/dsl/ProducerType;Lcom/lmax/disruptor/WaitStrategy;)V
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
15: invokestatic org.apache.logging.log4j.core.async.DisruptorUtil.getAsyncLoggerConfigExceptionHandler:()Lcom/lmax/disruptor/ExceptionHandler;
astore 3
start local 3 16: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
aload 3
invokevirtual com.lmax.disruptor.dsl.Disruptor.setDefaultExceptionHandler:(Lcom/lmax/disruptor/ExceptionHandler;)V
17: iconst_1
anewarray org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler
dup
iconst_0
new org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler
dup
invokespecial org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler.<init>:()V
aastore
astore 4
start local 4 18: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
aload 4
invokevirtual com.lmax.disruptor.dsl.Disruptor.handleEventsWith:([Lcom/lmax/disruptor/EventHandler;)Lcom/lmax/disruptor/dsl/EventHandlerGroup;
pop
19: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "Starting AsyncLoggerConfig disruptor for this configuration with ringbufferSize={}, waitStrategy={}, exceptionHandler={}..."
20: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
invokevirtual com.lmax.disruptor.RingBuffer.getBufferSize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
21: invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aload 3
22: invokeinterface org.apache.logging.log4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
23: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.start:()Lcom/lmax/disruptor/RingBuffer;
pop
24: aload 0
invokespecial org.apache.logging.log4j.core.AbstractLifeCycle.start:()V
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
6 26 1 waitStrategy Lcom/lmax/disruptor/WaitStrategy;
7 26 2 threadFactory Ljava/util/concurrent/ThreadFactory;
16 26 3 errorHandler Lcom/lmax/disruptor/ExceptionHandler<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
18 26 4 handlers [Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler;
public boolean stop(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
astore 4
start local 4 1: aload 4
ifnonnull 4
2: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor: disruptor for this configuration already shut down."
invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;)V
3: iconst_1
ireturn
4: StackMap locals: com.lmax.disruptor.dsl.Disruptor
StackMap stack:
aload 0
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.setStopping:()V
5: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor: shutting down disruptor for this configuration."
invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;)V
6: aload 0
aconst_null
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
7: iconst_0
istore 5
start local 5 8: goto 13
9: StackMap locals: int
StackMap stack:
ldc 50
invokestatic java.lang.Thread.sleep:(J)V
10: goto 12
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: pop
12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: aload 4
invokestatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.hasBacklog:(Lcom/lmax/disruptor/dsl/Disruptor;)Z
ifeq 14
iload 5
sipush 200
if_icmplt 9
end local 5 14: StackMap locals:
StackMap stack:
aload 4
lload 1
aload 3
invokevirtual com.lmax.disruptor.dsl.Disruptor.shutdown:(JLjava/util/concurrent/TimeUnit;)V
15: goto 19
StackMap locals:
StackMap stack: com.lmax.disruptor.TimeoutException
16: pop
17: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor: shutdown timed out after {} {}"
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 3
invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
18: aload 4
invokevirtual com.lmax.disruptor.dsl.Disruptor.halt:()V
19: StackMap locals:
StackMap stack:
getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor: disruptor has been shut down."
invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;)V
20: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.asyncQueueFullPolicy:Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
invokestatic org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy.getDiscardCount:(Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;)J
lconst_0
lcmp
ifle 24
21: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "AsyncLoggerConfigDisruptor: {} discarded {} events."
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.asyncQueueFullPolicy:Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
22: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.asyncQueueFullPolicy:Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
invokestatic org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy.getDiscardCount:(Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
23: invokeinterface org.apache.logging.log4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.setStopped:()V
25: iconst_1
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 26 1 timeout J
0 26 3 timeUnit Ljava/util/concurrent/TimeUnit;
1 26 4 temp Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
8 14 5 i I
Exception table:
from to target type
9 10 11 Class java.lang.InterruptedException
14 15 16 Class com.lmax.disruptor.TimeoutException
MethodParameters:
Name Flags
timeout final
timeUnit final
private static boolean hasBacklog(com.lmax.disruptor.dsl.Disruptor<?>);
descriptor: (Lcom/lmax/disruptor/dsl/Disruptor;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
astore 1
start local 1 1: aload 1
aload 1
invokevirtual com.lmax.disruptor.RingBuffer.getBufferSize:()I
invokevirtual com.lmax.disruptor.RingBuffer.hasAvailableCapacity:(I)Z
ifeq 2
iconst_0
goto 3
StackMap locals: com.lmax.disruptor.RingBuffer
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 theDisruptor Lcom/lmax/disruptor/dsl/Disruptor<*>;
1 4 1 ringBuffer Lcom/lmax/disruptor/RingBuffer<*>;
Signature: (Lcom/lmax/disruptor/dsl/Disruptor<*>;)Z
MethodParameters:
Name Flags
theDisruptor final
public org.apache.logging.log4j.core.async.EventRoute getEventRoute(org.apache.logging.log4j.Level);
descriptor: (Lorg/apache/logging/log4j/Level;)Lorg/apache/logging/log4j/core/async/EventRoute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.remainingDisruptorCapacity:()I
istore 2
start local 2 1: iload 2
ifge 3
2: getstatic org.apache.logging.log4j.core.async.EventRoute.DISCARD:Lorg/apache/logging/log4j/core/async/EventRoute;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.asyncQueueFullPolicy:Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.backgroundThreadId:J
aload 1
invokeinterface org.apache.logging.log4j.core.async.AsyncQueueFullPolicy.getRoute:(JLorg/apache/logging/log4j/Level;)Lorg/apache/logging/log4j/core/async/EventRoute;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 4 1 logLevel Lorg/apache/logging/log4j/Level;
1 4 2 remainingCapacity I
MethodParameters:
Name Flags
logLevel final
private int remainingDisruptorCapacity();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.hasLog4jBeenShutDown:(Lcom/lmax/disruptor/dsl/Disruptor;)Z
ifeq 3
2: iconst_m1
ireturn
3: StackMap locals: com.lmax.disruptor.dsl.Disruptor
StackMap stack:
aload 1
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
invokevirtual com.lmax.disruptor.RingBuffer.remainingCapacity:()J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
1 4 1 temp Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
private boolean hasLog4jBeenShutDown(com.lmax.disruptor.dsl.Disruptor<org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper>);
descriptor: (Lcom/lmax/disruptor/dsl/Disruptor;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "Ignoring log event after log4j was shut down"
invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 4 1 aDisruptor Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;
Signature: (Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor$Log4jEventWrapper;>;)Z
MethodParameters:
Name Flags
aDisruptor final
public void enqueueEvent(org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.prepareEvent:(Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/LogEvent;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.enqueue:(Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;)V
end local 3 2: goto 10
StackMap locals:
StackMap stack: java.lang.NullPointerException
3: pop
4: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "Ignoring log event after log4j was shut down: {} [{}] {}"
aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getLevel:()Lorg/apache/logging/log4j/Level;
5: aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getLoggerName:()Ljava/lang/String;
new java.lang.StringBuilder
dup
aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getMessage:()Lorg/apache/logging/log4j/message/Message;
invokeinterface org.apache.logging.log4j.message.Message.getFormattedMessage:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getThrown:()Ljava/lang/Throwable;
ifnonnull 7
ldc ""
goto 8
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor org.apache.logging.log4j.core.LogEvent org.apache.logging.log4j.core.async.AsyncLoggerConfig
StackMap stack: org.apache.logging.log4j.Logger java.lang.String org.apache.logging.log4j.Level java.lang.String java.lang.StringBuilder
7: aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getThrown:()Ljava/lang/Throwable;
invokestatic org.apache.logging.log4j.core.util.Throwables.toStringList:(Ljava/lang/Throwable;)Ljava/util/List;
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor org.apache.logging.log4j.core.LogEvent org.apache.logging.log4j.core.async.AsyncLoggerConfig
StackMap stack: org.apache.logging.log4j.Logger java.lang.String org.apache.logging.log4j.Level java.lang.String java.lang.StringBuilder java.lang.Object
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 11 1 event Lorg/apache/logging/log4j/core/LogEvent;
0 11 2 asyncLoggerConfig Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;
1 2 3 logEvent Lorg/apache/logging/log4j/core/LogEvent;
Exception table:
from to target type
0 2 3 Class java.lang.NullPointerException
MethodParameters:
Name Flags
event final
asyncLoggerConfig final
private org.apache.logging.log4j.core.LogEvent prepareEvent(org.apache.logging.log4j.core.LogEvent);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/LogEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.ensureImmutable:(Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/LogEvent;
astore 2
start local 2 1: aload 2
invokeinterface org.apache.logging.log4j.core.LogEvent.getMessage:()Lorg/apache/logging/log4j/message/Message;
instanceof org.apache.logging.log4j.message.ReusableMessage
ifeq 11
2: aload 2
instanceof org.apache.logging.log4j.core.impl.Log4jLogEvent
ifeq 5
3: aload 2
checkcast org.apache.logging.log4j.core.impl.Log4jLogEvent
invokevirtual org.apache.logging.log4j.core.impl.Log4jLogEvent.makeMessageImmutable:()V
4: goto 12
StackMap locals: org.apache.logging.log4j.core.LogEvent
StackMap stack:
5: aload 2
instanceof org.apache.logging.log4j.core.impl.MutableLogEvent
ifeq 9
6: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.translator:Lcom/lmax/disruptor/EventTranslatorTwoArg;
getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.MUTABLE_TRANSLATOR:Lcom/lmax/disruptor/EventTranslatorTwoArg;
if_acmpeq 12
7: aload 2
checkcast org.apache.logging.log4j.core.impl.MutableLogEvent
invokevirtual org.apache.logging.log4j.core.impl.MutableLogEvent.createMemento:()Lorg/apache/logging/log4j/core/impl/Log4jLogEvent;
astore 2
8: goto 12
9: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.showWarningAboutCustomLogEventWithReusableMessage:(Lorg/apache/logging/log4j/core/LogEvent;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.apache.logging.log4j.core.LogEvent.getMessage:()Lorg/apache/logging/log4j/message/Message;
invokestatic org.apache.logging.log4j.core.async.InternalAsyncUtil.makeMessageImmutable:(Lorg/apache/logging/log4j/message/Message;)Lorg/apache/logging/log4j/message/Message;
pop
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 13 1 event Lorg/apache/logging/log4j/core/LogEvent;
1 13 2 logEvent Lorg/apache/logging/log4j/core/LogEvent;
MethodParameters:
Name Flags
event final
private void showWarningAboutCustomLogEventWithReusableMessage(org.apache.logging.log4j.core.LogEvent);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.alreadyLoggedWarning:Z
ifne 5
1: getstatic org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.LOGGER:Lorg/apache/logging/log4j/Logger;
ldc "Custom log event of type {} contains a mutable message of type {}. AsyncLoggerConfig does not know how to make an immutable copy of this message. This may result in ConcurrentModificationExceptions or incorrect log messages if the application modifies objects in the message while the background thread is writing it to the appenders."
2: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokeinterface org.apache.logging.log4j.core.LogEvent.getMessage:()Lorg/apache/logging/log4j/message/Message;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
3: invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
iconst_1
putfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.alreadyLoggedWarning:Z
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 6 1 logEvent Lorg/apache/logging/log4j/core/LogEvent;
MethodParameters:
Name Flags
logEvent final
private void enqueue(org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.synchronizeEnqueueWhenQueueFull:()Z
ifeq 7
1: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.queueFullEnqueueLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.translator:Lcom/lmax/disruptor/EventTranslatorTwoArg;
aload 1
aload 2
invokevirtual com.lmax.disruptor.RingBuffer.publishEvent:(Lcom/lmax/disruptor/EventTranslatorTwoArg;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 3
monitorexit
4: goto 8
StackMap locals: org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor org.apache.logging.log4j.core.LogEvent org.apache.logging.log4j.core.async.AsyncLoggerConfig java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.translator:Lcom/lmax/disruptor/EventTranslatorTwoArg;
aload 1
aload 2
invokevirtual com.lmax.disruptor.RingBuffer.publishEvent:(Lcom/lmax/disruptor/EventTranslatorTwoArg;Ljava/lang/Object;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 9 1 logEvent Lorg/apache/logging/log4j/core/LogEvent;
0 9 2 asyncLoggerConfig Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;
Exception table:
from to target type
2 4 5 any
5 6 5 any
MethodParameters:
Name Flags
logEvent final
asyncLoggerConfig final
private boolean synchronizeEnqueueWhenQueueFull();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.apache.logging.log4j.core.async.DisruptorUtil.ASYNC_CONFIG_SYNCHRONIZE_ENQUEUE_WHEN_QUEUE_FULL:Z
ifeq 3
1: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.backgroundThreadId:J
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
public boolean tryEnqueue(org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.async.AsyncLoggerConfig);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.prepareEvent:(Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/LogEvent;
astore 3
start local 3 1: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.translator:Lcom/lmax/disruptor/EventTranslatorTwoArg;
aload 3
aload 2
invokevirtual com.lmax.disruptor.RingBuffer.tryPublishEvent:(Lcom/lmax/disruptor/EventTranslatorTwoArg;Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 2 1 event Lorg/apache/logging/log4j/core/LogEvent;
0 2 2 asyncLoggerConfig Lorg/apache/logging/log4j/core/async/AsyncLoggerConfig;
1 2 3 logEvent Lorg/apache/logging/log4j/core/LogEvent;
MethodParameters:
Name Flags
event final
asyncLoggerConfig final
private org.apache.logging.log4j.core.LogEvent ensureImmutable(org.apache.logging.log4j.core.LogEvent);
descriptor: (Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/LogEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 1
instanceof org.apache.logging.log4j.core.async.RingBufferLogEvent
ifeq 3
2: aload 1
checkcast org.apache.logging.log4j.core.async.RingBufferLogEvent
invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEvent.createMemento:()Lorg/apache/logging/log4j/core/LogEvent;
astore 2
3: StackMap locals: org.apache.logging.log4j.core.LogEvent
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 4 1 event Lorg/apache/logging/log4j/core/LogEvent;
1 4 2 result Lorg/apache/logging/log4j/core/LogEvent;
MethodParameters:
Name Flags
event final
public org.apache.logging.log4j.core.jmx.RingBufferAdmin createRingBufferAdmin(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/logging/log4j/core/jmx/RingBufferAdmin;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.disruptor:Lcom/lmax/disruptor/dsl/Disruptor;
invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
aload 1
aload 2
invokestatic org.apache.logging.log4j.core.jmx.RingBufferAdmin.forAsyncLoggerConfig:(Lcom/lmax/disruptor/RingBuffer;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/logging/log4j/core/jmx/RingBufferAdmin;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor;
0 1 1 contextName Ljava/lang/String;
0 1 2 loggerConfigName Ljava/lang/String;
MethodParameters:
Name Flags
contextName final
loggerConfigName final
}
SourceFile: "AsyncLoggerConfigDisruptor.java"
NestMembers:
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$1 org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$2 org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$3 org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$4 org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$5 org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler
InnerClasses:
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$1
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$2
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$3
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$4
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$5
public Log4jEventWrapper = org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper of org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor
private Log4jEventWrapperHandler = org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapperHandler of org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor