public class org.apache.logging.log4j.core.async.AsyncLogger extends org.apache.logging.log4j.core.Logger implements com.lmax.disruptor.EventTranslatorVararg<org.apache.logging.log4j.core.async.RingBufferLogEvent>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.async.AsyncLogger
  super_class: org.apache.logging.log4j.core.Logger
{
  private static final org.apache.logging.log4j.status.StatusLogger LOGGER;
    descriptor: Lorg/apache/logging/log4j/status/StatusLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.logging.log4j.core.util.Clock CLOCK;
    descriptor: Lorg/apache/logging/log4j/core/util/Clock;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.logging.log4j.core.ContextDataInjector CONTEXT_DATA_INJECTOR;
    descriptor: Lorg/apache/logging/log4j/core/ContextDataInjector;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.logging.log4j.core.async.ThreadNameCachingStrategy THREAD_NAME_CACHING_STRATEGY;
    descriptor: Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.ThreadLocal<org.apache.logging.log4j.core.async.RingBufferLogEventTranslator> threadLocalTranslator;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;>;

  private final org.apache.logging.log4j.core.async.AsyncLoggerDisruptor loggerDisruptor;
    descriptor: Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile boolean includeLocation;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile org.apache.logging.log4j.core.util.NanoClock nanoClock;
    descriptor: Lorg/apache/logging/log4j/core/util/NanoClock;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static volatile int[] $SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
            putstatic org.apache.logging.log4j.core.async.AsyncLogger.LOGGER:Lorg/apache/logging/log4j/status/StatusLogger;
         1: .line 73
            invokestatic org.apache.logging.log4j.core.util.ClockFactory.getClock:()Lorg/apache/logging/log4j/core/util/Clock;
            putstatic org.apache.logging.log4j.core.async.AsyncLogger.CLOCK:Lorg/apache/logging/log4j/core/util/Clock;
         2: .line 74
            invokestatic org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector:()Lorg/apache/logging/log4j/core/ContextDataInjector;
            putstatic org.apache.logging.log4j.core.async.AsyncLogger.CONTEXT_DATA_INJECTOR:Lorg/apache/logging/log4j/core/ContextDataInjector;
         3: .line 76
            invokestatic org.apache.logging.log4j.core.async.ThreadNameCachingStrategy.create:()Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
            putstatic org.apache.logging.log4j.core.async.AsyncLogger.THREAD_NAME_CACHING_STRATEGY:Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.logging.log4j.core.LoggerContext, java.lang.String, org.apache.logging.log4j.message.MessageFactory, org.apache.logging.log4j.core.async.AsyncLoggerDisruptor);
    descriptor: (Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;Lorg/apache/logging/log4j/message/MessageFactory;Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.LoggerContext context
        start local 2 // java.lang.String name
        start local 3 // org.apache.logging.log4j.message.MessageFactory messageFactory
        start local 4 // org.apache.logging.log4j.core.async.AsyncLoggerDisruptor loggerDisruptor
         0: .line 94
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* messageFactory */
            invokespecial org.apache.logging.log4j.core.Logger.<init>:(Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;Lorg/apache/logging/log4j/message/MessageFactory;)V
         1: .line 78
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.apache.logging.log4j.core.async.AsyncLogger.threadLocalTranslator:Ljava/lang/ThreadLocal;
         2: .line 95
            aload 0 /* this */
            aload 4 /* loggerDisruptor */
            putfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
         3: .line 96
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig;
            getfield org.apache.logging.log4j.core.Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig;
            invokevirtual org.apache.logging.log4j.core.config.LoggerConfig.isIncludeLocation:()Z
            putfield org.apache.logging.log4j.core.async.AsyncLogger.includeLocation:Z
         4: .line 97
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.logging.log4j.core.LoggerContext.getConfiguration:()Lorg/apache/logging/log4j/core/config/Configuration;
            invokeinterface org.apache.logging.log4j.core.config.Configuration.getNanoClock:()Lorg/apache/logging/log4j/core/util/NanoClock;
            putfield org.apache.logging.log4j.core.async.AsyncLogger.nanoClock:Lorg/apache/logging/log4j/core/util/NanoClock;
         5: .line 98
            return
        end local 4 // org.apache.logging.log4j.core.async.AsyncLoggerDisruptor loggerDisruptor
        end local 3 // org.apache.logging.log4j.message.MessageFactory messageFactory
        end local 2 // java.lang.String name
        end local 1 // org.apache.logging.log4j.core.LoggerContext context
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    6     1          context  Lorg/apache/logging/log4j/core/LoggerContext;
            0    6     2             name  Ljava/lang/String;
            0    6     3   messageFactory  Lorg/apache/logging/log4j/message/MessageFactory;
            0    6     4  loggerDisruptor  Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
    MethodParameters:
                 Name  Flags
      context          final
      name             final
      messageFactory   final
      loggerDisruptor  final

  protected void updateConfiguration(org.apache.logging.log4j.core.config.Configuration);
    descriptor: (Lorg/apache/logging/log4j/core/config/Configuration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.config.Configuration newConfig
         0: .line 107
            aload 0 /* this */
            aload 1 /* newConfig */
            invokeinterface org.apache.logging.log4j.core.config.Configuration.getNanoClock:()Lorg/apache/logging/log4j/core/util/NanoClock;
            putfield org.apache.logging.log4j.core.async.AsyncLogger.nanoClock:Lorg/apache/logging/log4j/core/util/NanoClock;
         1: .line 108
            aload 0 /* this */
            aload 1 /* newConfig */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.name:Ljava/lang/String;
            invokeinterface org.apache.logging.log4j.core.config.Configuration.getLoggerConfig:(Ljava/lang/String;)Lorg/apache/logging/log4j/core/config/LoggerConfig;
            invokevirtual org.apache.logging.log4j.core.config.LoggerConfig.isIncludeLocation:()Z
            putfield org.apache.logging.log4j.core.async.AsyncLogger.includeLocation:Z
         2: .line 109
            aload 0 /* this */
            aload 1 /* newConfig */
            invokespecial org.apache.logging.log4j.core.Logger.updateConfiguration:(Lorg/apache/logging/log4j/core/config/Configuration;)V
         3: .line 110
            return
        end local 1 // org.apache.logging.log4j.core.config.Configuration newConfig
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    4     1  newConfig  Lorg/apache/logging/log4j/core/config/Configuration;
    MethodParameters:
           Name  Flags
      newConfig  final

  org.apache.logging.log4j.core.util.NanoClock getNanoClock();
    descriptor: ()Lorg/apache/logging/log4j/core/util/NanoClock;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
         0: .line 114
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.nanoClock:Lorg/apache/logging/log4j/core/util/NanoClock;
            areturn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/async/AsyncLogger;

  private org.apache.logging.log4j.core.async.RingBufferLogEventTranslator getCachedTranslator();
    descriptor: ()Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
         0: .line 118
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.threadLocalTranslator:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.async.RingBufferLogEventTranslator
            astore 1 /* result */
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator result
         1: .line 119
            aload 1 /* result */
            ifnonnull 4
         2: .line 120
            new org.apache.logging.log4j.core.async.RingBufferLogEventTranslator
            dup
            invokespecial org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.<init>:()V
            astore 1 /* result */
         3: .line 121
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.threadLocalTranslator:Ljava/lang/ThreadLocal;
            aload 1 /* result */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 123
      StackMap locals: org.apache.logging.log4j.core.async.RingBufferLogEventTranslator
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator result
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            1    5     1  result  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;

  public void logMessage(java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.String fqcn
        start local 2 // org.apache.logging.log4j.Level level
        start local 3 // org.apache.logging.log4j.Marker marker
        start local 4 // org.apache.logging.log4j.message.Message message
        start local 5 // java.lang.Throwable thrown
         0: .line 130
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.isUseThreadLocals:()Z
            ifeq 3
         1: .line 131
            aload 0 /* this */
            aload 1 /* fqcn */
            aload 2 /* level */
            aload 3 /* marker */
            aload 4 /* message */
            aload 5 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logWithThreadLocalTranslator:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         2: .line 132
            goto 4
         3: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fqcn */
            aload 2 /* level */
            aload 3 /* marker */
            aload 4 /* message */
            aload 5 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logWithVarargTranslator:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         4: .line 136
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Throwable thrown
        end local 4 // org.apache.logging.log4j.message.Message message
        end local 3 // org.apache.logging.log4j.Marker marker
        end local 2 // org.apache.logging.log4j.Level level
        end local 1 // java.lang.String fqcn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    5     1     fqcn  Ljava/lang/String;
            0    5     2    level  Lorg/apache/logging/log4j/Level;
            0    5     3   marker  Lorg/apache/logging/log4j/Marker;
            0    5     4  message  Lorg/apache/logging/log4j/message/Message;
            0    5     5   thrown  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      fqcn     final
      level    final
      marker   final
      message  final
      thrown   final

  private boolean isReused(org.apache.logging.log4j.message.Message);
    descriptor: (Lorg/apache/logging/log4j/message/Message;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.message.Message message
         0: .line 139
            aload 1 /* message */
            instanceof org.apache.logging.log4j.message.ReusableMessage
            ireturn
        end local 1 // org.apache.logging.log4j.message.Message message
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    1     1  message  Lorg/apache/logging/log4j/message/Message;
    MethodParameters:
         Name  Flags
      message  final

  private void logWithThreadLocalTranslator(java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.String fqcn
        start local 2 // org.apache.logging.log4j.Level level
        start local 3 // org.apache.logging.log4j.Marker marker
        start local 4 // org.apache.logging.log4j.message.Message message
        start local 5 // java.lang.Throwable thrown
         0: .line 158
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.getCachedTranslator:()Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
            astore 6 /* translator */
        start local 6 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
         1: .line 159
            aload 0 /* this */
            aload 6 /* translator */
            aload 1 /* fqcn */
            aload 2 /* level */
            aload 3 /* marker */
            aload 4 /* message */
            aload 5 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.initTranslator:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         2: .line 160
            aload 0 /* this */
            aload 6 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.initTranslatorThreadValues:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
         3: .line 161
            aload 0 /* this */
            aload 6 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.publish:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
         4: .line 162
            return
        end local 6 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        end local 5 // java.lang.Throwable thrown
        end local 4 // org.apache.logging.log4j.message.Message message
        end local 3 // org.apache.logging.log4j.Marker marker
        end local 2 // org.apache.logging.log4j.Level level
        end local 1 // java.lang.String fqcn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    5     1        fqcn  Ljava/lang/String;
            0    5     2       level  Lorg/apache/logging/log4j/Level;
            0    5     3      marker  Lorg/apache/logging/log4j/Marker;
            0    5     4     message  Lorg/apache/logging/log4j/message/Message;
            0    5     5      thrown  Ljava/lang/Throwable;
            1    5     6  translator  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
    MethodParameters:
         Name  Flags
      fqcn     final
      level    final
      marker   final
      message  final
      thrown   final

  private void publish(org.apache.logging.log4j.core.async.RingBufferLogEventTranslator);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
         0: .line 165
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            aload 1 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.tryPublish:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)Z
            ifne 2
         1: .line 166
            aload 0 /* this */
            aload 1 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.handleRingBufferFull:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
         2: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    3     1  translator  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
    MethodParameters:
            Name  Flags
      translator  final

  private void handleRingBufferFull(org.apache.logging.log4j.core.async.RingBufferLogEventTranslator);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
         0: .line 171
            invokestatic org.apache.logging.log4j.spi.AbstractLogger.getRecursionDepth:()I
            iconst_1
            if_icmple 6
         1: .line 173
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.message:Lorg/apache/logging/log4j/message/Message;
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullMessageUtil.transform:(Lorg/apache/logging/log4j/message/Message;)Lorg/apache/logging/log4j/message/Message;
            astore 2 /* message */
        start local 2 // org.apache.logging.log4j.message.Message message
         2: .line 174
            aload 0 /* this */
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.fqcn:Ljava/lang/String;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.level:Lorg/apache/logging/log4j/Level;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.marker:Lorg/apache/logging/log4j/Marker;
            aload 2 /* message */
         3: .line 175
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.thrown:Ljava/lang/Throwable;
         4: .line 174
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logMessageInCurrentThread:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         5: .line 176
            return
        end local 2 // org.apache.logging.log4j.message.Message message
         6: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.level:Lorg/apache/logging/log4j/Level;
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.getEventRoute:(Lorg/apache/logging/log4j/Level;)Lorg/apache/logging/log4j/core/async/EventRoute;
            astore 2 /* eventRoute */
        start local 2 // org.apache.logging.log4j.core.async.EventRoute eventRoute
         7: .line 179
            invokestatic org.apache.logging.log4j.core.async.AsyncLogger.$SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute:()[I
            aload 2 /* eventRoute */
            invokevirtual org.apache.logging.log4j.core.async.EventRoute.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 8
                    2: 10
                    3: 14
              default: 15
          }
         8: .line 181
      StackMap locals: org.apache.logging.log4j.core.async.EventRoute
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            aload 1 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.enqueueLogMessageInfo:(Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
         9: .line 182
            goto 16
        10: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.fqcn:Ljava/lang/String;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.level:Lorg/apache/logging/log4j/Level;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.marker:Lorg/apache/logging/log4j/Marker;
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.message:Lorg/apache/logging/log4j/message/Message;
        11: .line 185
            aload 1 /* translator */
            getfield org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.thrown:Ljava/lang/Throwable;
        12: .line 184
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logMessageInCurrentThread:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
        13: .line 186
            goto 16
        14: .line 188
      StackMap locals:
      StackMap stack:
            goto 16
        15: .line 190
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown EventRoute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* eventRoute */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 192
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.logging.log4j.core.async.EventRoute eventRoute
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0   17     1  translator  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
            2    6     2     message  Lorg/apache/logging/log4j/message/Message;
            7   17     2  eventRoute  Lorg/apache/logging/log4j/core/async/EventRoute;
    MethodParameters:
            Name  Flags
      translator  final

  private void initTranslator(org.apache.logging.log4j.core.async.RingBufferLogEventTranslator, java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=7, args_size=7
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        start local 2 // java.lang.String fqcn
        start local 3 // org.apache.logging.log4j.Level level
        start local 4 // org.apache.logging.log4j.Marker marker
        start local 5 // org.apache.logging.log4j.message.Message message
        start local 6 // java.lang.Throwable thrown
         0: .line 197
            aload 1 /* translator */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.name:Ljava/lang/String;
            aload 4 /* marker */
            aload 2 /* fqcn */
            aload 3 /* level */
            aload 5 /* message */
         1: .line 199
            aload 6 /* thrown */
         2: .line 202
            invokestatic org.apache.logging.log4j.ThreadContext.getImmutableStack:()Lorg/apache/logging/log4j/ThreadContext$ContextStack;
         3: .line 205
            aload 0 /* this */
            aload 2 /* fqcn */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.calcLocationIfRequested:(Ljava/lang/String;)Ljava/lang/StackTraceElement;
         4: .line 206
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.CLOCK:Lorg/apache/logging/log4j/core/util/Clock;
         5: .line 207
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.nanoClock:Lorg/apache/logging/log4j/core/util/NanoClock;
         6: .line 197
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.setBasicValues:(Lorg/apache/logging/log4j/core/async/AsyncLogger;Ljava/lang/String;Lorg/apache/logging/log4j/Marker;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;Lorg/apache/logging/log4j/ThreadContext$ContextStack;Ljava/lang/StackTraceElement;Lorg/apache/logging/log4j/core/util/Clock;Lorg/apache/logging/log4j/core/util/NanoClock;)V
         7: .line 209
            return
        end local 6 // java.lang.Throwable thrown
        end local 5 // org.apache.logging.log4j.message.Message message
        end local 4 // org.apache.logging.log4j.Marker marker
        end local 3 // org.apache.logging.log4j.Level level
        end local 2 // java.lang.String fqcn
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    8     1  translator  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
            0    8     2        fqcn  Ljava/lang/String;
            0    8     3       level  Lorg/apache/logging/log4j/Level;
            0    8     4      marker  Lorg/apache/logging/log4j/Marker;
            0    8     5     message  Lorg/apache/logging/log4j/message/Message;
            0    8     6      thrown  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      translator  final
      fqcn        final
      level       final
      marker      final
      message     final
      thrown      final

  private void initTranslatorThreadValues(org.apache.logging.log4j.core.async.RingBufferLogEventTranslator);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
         0: .line 213
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.THREAD_NAME_CACHING_STRATEGY:Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
            getstatic org.apache.logging.log4j.core.async.ThreadNameCachingStrategy.UNCACHED:Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
            if_acmpne 2
         1: .line 214
            aload 1 /* translator */
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.updateThreadValues:()V
         2: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEventTranslator translator
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    3     1  translator  Lorg/apache/logging/log4j/core/async/RingBufferLogEventTranslator;
    MethodParameters:
            Name  Flags
      translator  final

  private java.lang.StackTraceElement calcLocationIfRequested(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/StackTraceElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.String fqcn
         0: .line 228
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.includeLocation:Z
            ifeq 1
            aload 1 /* fqcn */
            invokestatic org.apache.logging.log4j.util.StackLocatorUtil.calcLocation:(Ljava/lang/String;)Ljava/lang/StackTraceElement;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.StackTraceElement
         2: areturn
        end local 1 // java.lang.String fqcn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    3     1  fqcn  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      fqcn  final

  private void logWithVarargTranslator(java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.String fqcn
        start local 2 // org.apache.logging.log4j.Level level
        start local 3 // org.apache.logging.log4j.Marker marker
        start local 4 // org.apache.logging.log4j.message.Message message
        start local 5 // java.lang.Throwable thrown
         0: .line 247
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.getDisruptor:()Lcom/lmax/disruptor/dsl/Disruptor;
            astore 6 /* disruptor */
        start local 6 // com.lmax.disruptor.dsl.Disruptor disruptor
         1: .line 248
            aload 6 /* disruptor */
            ifnonnull 4
         2: .line 249
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.LOGGER:Lorg/apache/logging/log4j/status/StatusLogger;
            ldc "Ignoring log event after Log4j has been shut down."
            invokevirtual org.apache.logging.log4j.status.StatusLogger.error:(Ljava/lang/String;)V
         3: .line 250
            return
         4: .line 253
      StackMap locals: com.lmax.disruptor.dsl.Disruptor
      StackMap stack:
            aload 0 /* this */
            aload 4 /* message */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.isReused:(Lorg/apache/logging/log4j/message/Message;)Z
            ifne 6
         5: .line 254
            aload 4 /* message */
            invokestatic org.apache.logging.log4j.core.async.InternalAsyncUtil.makeMessageImmutable:(Lorg/apache/logging/log4j/message/Message;)Lorg/apache/logging/log4j/message/Message;
            pop
         6: .line 256
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* location */
        start local 7 // java.lang.StackTraceElement location
         7: .line 258
            aload 6 /* disruptor */
            invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
            aload 0 /* this */
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 259
            aload 0 /* this */
            aastore
            dup
            iconst_1
         9: .line 260
            aload 0 /* this */
            aload 1 /* fqcn */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.calcLocationIfRequested:(Ljava/lang/String;)Ljava/lang/StackTraceElement;
            dup
            astore 7 /* location */
            aastore
            dup
            iconst_2
        10: .line 261
            aload 1 /* fqcn */
            aastore
            dup
            iconst_3
        11: .line 262
            aload 2 /* level */
            aastore
            dup
            iconst_4
        12: .line 263
            aload 3 /* marker */
            aastore
            dup
            iconst_5
        13: .line 264
            aload 4 /* message */
            aastore
            dup
            bipush 6
        14: .line 265
            aload 5 /* thrown */
            aastore
        15: .line 258
            invokevirtual com.lmax.disruptor.RingBuffer.tryPublishEvent:(Lcom/lmax/disruptor/EventTranslatorVararg;[Ljava/lang/Object;)Z
        16: .line 265
            ifne 18
        17: .line 266
            aload 0 /* this */
            aload 7 /* location */
            aload 1 /* fqcn */
            aload 2 /* level */
            aload 3 /* marker */
            aload 4 /* message */
            aload 5 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.handleRingBufferFull:(Ljava/lang/StackTraceElement;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
        18: .line 268
      StackMap locals: java.lang.StackTraceElement
      StackMap stack:
            return
        end local 7 // java.lang.StackTraceElement location
        end local 6 // com.lmax.disruptor.dsl.Disruptor disruptor
        end local 5 // java.lang.Throwable thrown
        end local 4 // org.apache.logging.log4j.message.Message message
        end local 3 // org.apache.logging.log4j.Marker marker
        end local 2 // org.apache.logging.log4j.Level level
        end local 1 // java.lang.String fqcn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0   19     1       fqcn  Ljava/lang/String;
            0   19     2      level  Lorg/apache/logging/log4j/Level;
            0   19     3     marker  Lorg/apache/logging/log4j/Marker;
            0   19     4    message  Lorg/apache/logging/log4j/message/Message;
            0   19     5     thrown  Ljava/lang/Throwable;
            1   19     6  disruptor  Lcom/lmax/disruptor/dsl/Disruptor<Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;>;
            7   19     7   location  Ljava/lang/StackTraceElement;
    MethodParameters:
         Name  Flags
      fqcn     final
      level    final
      marker   final
      message  final
      thrown   final

  public void translateTo(org.apache.logging.log4j.core.async.RingBufferLogEvent, long, java.lang.Object[]);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;J[Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=17, locals=15, args_size=4
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEvent event
        start local 2 // long sequence
        start local 4 // java.lang.Object[] args
         0: .line 278
            aload 4 /* args */
            iconst_0
            aaload
            checkcast org.apache.logging.log4j.core.async.AsyncLogger
            astore 5 /* asyncLogger */
        start local 5 // org.apache.logging.log4j.core.async.AsyncLogger asyncLogger
         1: .line 279
            aload 4 /* args */
            iconst_1
            aaload
            checkcast java.lang.StackTraceElement
            astore 6 /* location */
        start local 6 // java.lang.StackTraceElement location
         2: .line 280
            aload 4 /* args */
            iconst_2
            aaload
            checkcast java.lang.String
            astore 7 /* fqcn */
        start local 7 // java.lang.String fqcn
         3: .line 281
            aload 4 /* args */
            iconst_3
            aaload
            checkcast org.apache.logging.log4j.Level
            astore 8 /* level */
        start local 8 // org.apache.logging.log4j.Level level
         4: .line 282
            aload 4 /* args */
            iconst_4
            aaload
            checkcast org.apache.logging.log4j.Marker
            astore 9 /* marker */
        start local 9 // org.apache.logging.log4j.Marker marker
         5: .line 283
            aload 4 /* args */
            iconst_5
            aaload
            checkcast org.apache.logging.log4j.message.Message
            astore 10 /* message */
        start local 10 // org.apache.logging.log4j.message.Message message
         6: .line 284
            aload 4 /* args */
            bipush 6
            aaload
            checkcast java.lang.Throwable
            astore 11 /* thrown */
        start local 11 // java.lang.Throwable thrown
         7: .line 287
            invokestatic org.apache.logging.log4j.ThreadContext.getImmutableStack:()Lorg/apache/logging/log4j/ThreadContext$ContextStack;
            astore 12 /* contextStack */
        start local 12 // org.apache.logging.log4j.ThreadContext$ContextStack contextStack
         8: .line 289
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 13 /* currentThread */
        start local 13 // java.lang.Thread currentThread
         9: .line 290
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.THREAD_NAME_CACHING_STRATEGY:Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;
            invokevirtual org.apache.logging.log4j.core.async.ThreadNameCachingStrategy.getThreadName:()Ljava/lang/String;
            astore 14 /* threadName */
        start local 14 // java.lang.String threadName
        10: .line 291
            aload 1 /* event */
            aload 5 /* asyncLogger */
            aload 5 /* asyncLogger */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.getName:()Ljava/lang/String;
            aload 9 /* marker */
            aload 7 /* fqcn */
            aload 8 /* level */
            aload 10 /* message */
            aload 11 /* thrown */
        11: .line 294
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.CONTEXT_DATA_INJECTOR:Lorg/apache/logging/log4j/core/ContextDataInjector;
            aconst_null
            aload 1 /* event */
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEvent.getContextData:()Lorg/apache/logging/log4j/util/ReadOnlyStringMap;
            checkcast org.apache.logging.log4j.util.StringMap
            invokeinterface org.apache.logging.log4j.core.ContextDataInjector.injectContextData:(Ljava/util/List;Lorg/apache/logging/log4j/util/StringMap;)Lorg/apache/logging/log4j/util/StringMap;
        12: .line 295
            aload 12 /* contextStack */
            aload 13 /* currentThread */
            invokevirtual java.lang.Thread.getId:()J
            aload 14 /* threadName */
            aload 13 /* currentThread */
            invokevirtual java.lang.Thread.getPriority:()I
            aload 6 /* location */
        13: .line 296
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.CLOCK:Lorg/apache/logging/log4j/core/util/Clock;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.nanoClock:Lorg/apache/logging/log4j/core/util/NanoClock;
        14: .line 291
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEvent.setValues:(Lorg/apache/logging/log4j/core/async/AsyncLogger;Ljava/lang/String;Lorg/apache/logging/log4j/Marker;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;Lorg/apache/logging/log4j/util/StringMap;Lorg/apache/logging/log4j/ThreadContext$ContextStack;JLjava/lang/String;ILjava/lang/StackTraceElement;Lorg/apache/logging/log4j/core/util/Clock;Lorg/apache/logging/log4j/core/util/NanoClock;)V
        15: .line 297
            return
        end local 14 // java.lang.String threadName
        end local 13 // java.lang.Thread currentThread
        end local 12 // org.apache.logging.log4j.ThreadContext$ContextStack contextStack
        end local 11 // java.lang.Throwable thrown
        end local 10 // org.apache.logging.log4j.message.Message message
        end local 9 // org.apache.logging.log4j.Marker marker
        end local 8 // org.apache.logging.log4j.Level level
        end local 7 // java.lang.String fqcn
        end local 6 // java.lang.StackTraceElement location
        end local 5 // org.apache.logging.log4j.core.async.AsyncLogger asyncLogger
        end local 4 // java.lang.Object[] args
        end local 2 // long sequence
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEvent event
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0   16     1          event  Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;
            0   16     2       sequence  J
            0   16     4           args  [Ljava/lang/Object;
            1   16     5    asyncLogger  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            2   16     6       location  Ljava/lang/StackTraceElement;
            3   16     7           fqcn  Ljava/lang/String;
            4   16     8          level  Lorg/apache/logging/log4j/Level;
            5   16     9         marker  Lorg/apache/logging/log4j/Marker;
            6   16    10        message  Lorg/apache/logging/log4j/message/Message;
            7   16    11         thrown  Ljava/lang/Throwable;
            8   16    12   contextStack  Lorg/apache/logging/log4j/ThreadContext$ContextStack;
            9   16    13  currentThread  Ljava/lang/Thread;
           10   16    14     threadName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      event     final
      sequence  final
      args      final

  void logMessageInCurrentThread(java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.String fqcn
        start local 2 // org.apache.logging.log4j.Level level
        start local 3 // org.apache.logging.log4j.Marker marker
        start local 4 // org.apache.logging.log4j.message.Message message
        start local 5 // java.lang.Throwable thrown
         0: .line 312
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig;
            getfield org.apache.logging.log4j.core.Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig;
            invokevirtual org.apache.logging.log4j.core.config.LoggerConfig.getReliabilityStrategy:()Lorg/apache/logging/log4j/core/config/ReliabilityStrategy;
            astore 6 /* strategy */
        start local 6 // org.apache.logging.log4j.core.config.ReliabilityStrategy strategy
         1: .line 313
            aload 6 /* strategy */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.getName:()Ljava/lang/String;
            aload 1 /* fqcn */
            aload 3 /* marker */
            aload 2 /* level */
            aload 4 /* message */
            aload 5 /* thrown */
            invokeinterface org.apache.logging.log4j.core.config.ReliabilityStrategy.log:(Lorg/apache/logging/log4j/util/Supplier;Ljava/lang/String;Ljava/lang/String;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         2: .line 314
            return
        end local 6 // org.apache.logging.log4j.core.config.ReliabilityStrategy strategy
        end local 5 // java.lang.Throwable thrown
        end local 4 // org.apache.logging.log4j.message.Message message
        end local 3 // org.apache.logging.log4j.Marker marker
        end local 2 // org.apache.logging.log4j.Level level
        end local 1 // java.lang.String fqcn
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0    3     1      fqcn  Ljava/lang/String;
            0    3     2     level  Lorg/apache/logging/log4j/Level;
            0    3     3    marker  Lorg/apache/logging/log4j/Marker;
            0    3     4   message  Lorg/apache/logging/log4j/message/Message;
            0    3     5    thrown  Ljava/lang/Throwable;
            1    3     6  strategy  Lorg/apache/logging/log4j/core/config/ReliabilityStrategy;
    MethodParameters:
         Name  Flags
      fqcn     final
      level    final
      marker   final
      message  final
      thrown   final

  private void handleRingBufferFull(java.lang.StackTraceElement, java.lang.String, org.apache.logging.log4j.Level, org.apache.logging.log4j.Marker, org.apache.logging.log4j.message.Message, java.lang.Throwable);
    descriptor: (Ljava/lang/StackTraceElement;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // java.lang.StackTraceElement location
        start local 2 // java.lang.String fqcn
        start local 3 // org.apache.logging.log4j.Level level
        start local 4 // org.apache.logging.log4j.Marker marker
        start local 5 // org.apache.logging.log4j.message.Message msg
        start local 6 // java.lang.Throwable thrown
         0: .line 322
            invokestatic org.apache.logging.log4j.spi.AbstractLogger.getRecursionDepth:()I
            iconst_1
            if_icmple 4
         1: .line 324
            aload 5 /* msg */
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullMessageUtil.transform:(Lorg/apache/logging/log4j/message/Message;)Lorg/apache/logging/log4j/message/Message;
            astore 7 /* message */
        start local 7 // org.apache.logging.log4j.message.Message message
         2: .line 325
            aload 0 /* this */
            aload 2 /* fqcn */
            aload 3 /* level */
            aload 4 /* marker */
            aload 7 /* message */
            aload 6 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logMessageInCurrentThread:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
         3: .line 326
            return
        end local 7 // org.apache.logging.log4j.message.Message message
         4: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            aload 3 /* level */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.getEventRoute:(Lorg/apache/logging/log4j/Level;)Lorg/apache/logging/log4j/core/async/EventRoute;
            astore 7 /* eventRoute */
        start local 7 // org.apache.logging.log4j.core.async.EventRoute eventRoute
         5: .line 329
            invokestatic org.apache.logging.log4j.core.async.AsyncLogger.$SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute:()[I
            aload 7 /* eventRoute */
            invokevirtual org.apache.logging.log4j.core.async.EventRoute.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 6
                    2: 16
                    3: 18
              default: 19
          }
         6: .line 331
      StackMap locals: org.apache.logging.log4j.core.async.EventRoute
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.loggerDisruptor:Lorg/apache/logging/log4j/core/async/AsyncLoggerDisruptor;
            invokevirtual org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.getDisruptor:()Lcom/lmax/disruptor/dsl/Disruptor;
            invokevirtual com.lmax.disruptor.dsl.Disruptor.getRingBuffer:()Lcom/lmax/disruptor/RingBuffer;
            aload 0 /* this */
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 332
            aload 0 /* this */
            aastore
            dup
            iconst_1
         8: .line 333
            aload 1 /* location */
            aastore
            dup
            iconst_2
         9: .line 334
            aload 2 /* fqcn */
            aastore
            dup
            iconst_3
        10: .line 335
            aload 3 /* level */
            aastore
            dup
            iconst_4
        11: .line 336
            aload 4 /* marker */
            aastore
            dup
            iconst_5
        12: .line 337
            aload 5 /* msg */
            aastore
            dup
            bipush 6
        13: .line 338
            aload 6 /* thrown */
            aastore
        14: .line 331
            invokevirtual com.lmax.disruptor.RingBuffer.publishEvent:(Lcom/lmax/disruptor/EventTranslatorVararg;[Ljava/lang/Object;)V
        15: .line 339
            goto 20
        16: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* fqcn */
            aload 3 /* level */
            aload 4 /* marker */
            aload 5 /* msg */
            aload 6 /* thrown */
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.logMessageInCurrentThread:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
        17: .line 342
            goto 20
        18: .line 344
      StackMap locals:
      StackMap stack:
            goto 20
        19: .line 346
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown EventRoute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* eventRoute */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 348
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.apache.logging.log4j.core.async.EventRoute eventRoute
        end local 6 // java.lang.Throwable thrown
        end local 5 // org.apache.logging.log4j.message.Message msg
        end local 4 // org.apache.logging.log4j.Marker marker
        end local 3 // org.apache.logging.log4j.Level level
        end local 2 // java.lang.String fqcn
        end local 1 // java.lang.StackTraceElement location
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0   21     1    location  Ljava/lang/StackTraceElement;
            0   21     2        fqcn  Ljava/lang/String;
            0   21     3       level  Lorg/apache/logging/log4j/Level;
            0   21     4      marker  Lorg/apache/logging/log4j/Marker;
            0   21     5         msg  Lorg/apache/logging/log4j/message/Message;
            0   21     6      thrown  Ljava/lang/Throwable;
            2    4     7     message  Lorg/apache/logging/log4j/message/Message;
            5   21     7  eventRoute  Lorg/apache/logging/log4j/core/async/EventRoute;
    MethodParameters:
          Name  Flags
      location  final
      fqcn      final
      level     final
      marker    final
      msg       final
      thrown    final

  public void actualAsyncLog(org.apache.logging.log4j.core.async.RingBufferLogEvent);
    descriptor: (Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
        start local 1 // org.apache.logging.log4j.core.async.RingBufferLogEvent event
         0: .line 358
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig;
            getfield org.apache.logging.log4j.core.Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig;
            invokevirtual org.apache.logging.log4j.core.config.LoggerConfig.getPropertyList:()Ljava/util/List;
            astore 2 /* properties */
        start local 2 // java.util.List properties
         1: .line 360
            aload 2 /* properties */
            ifnull 20
         2: .line 361
            aload 1 /* event */
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEvent.getContextData:()Lorg/apache/logging/log4j/util/ReadOnlyStringMap;
            checkcast org.apache.logging.log4j.util.StringMap
            astore 3 /* contextData */
        start local 3 // org.apache.logging.log4j.util.StringMap contextData
         3: .line 362
            aload 3 /* contextData */
            invokeinterface org.apache.logging.log4j.util.StringMap.isFrozen:()Z
            ifeq 7
         4: .line 363
            invokestatic org.apache.logging.log4j.core.impl.ContextDataFactory.createContextData:()Lorg/apache/logging/log4j/util/StringMap;
            astore 4 /* temp */
        start local 4 // org.apache.logging.log4j.util.StringMap temp
         5: .line 364
            aload 4 /* temp */
            aload 3 /* contextData */
            invokeinterface org.apache.logging.log4j.util.StringMap.putAll:(Lorg/apache/logging/log4j/util/ReadOnlyStringMap;)V
         6: .line 365
            aload 4 /* temp */
            astore 3 /* contextData */
        end local 4 // org.apache.logging.log4j.util.StringMap temp
         7: .line 367
      StackMap locals: java.util.List org.apache.logging.log4j.util.StringMap
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 18
         9: .line 368
      StackMap locals: int
      StackMap stack:
            aload 2 /* properties */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.Property
            astore 5 /* prop */
        start local 5 // org.apache.logging.log4j.core.config.Property prop
        10: .line 369
            aload 3 /* contextData */
            aload 5 /* prop */
            invokevirtual org.apache.logging.log4j.core.config.Property.getName:()Ljava/lang/String;
            invokeinterface org.apache.logging.log4j.util.StringMap.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            ifnull 12
        11: .line 370
            goto 17
        12: .line 372
      StackMap locals: org.apache.logging.log4j.core.config.Property
      StackMap stack:
            aload 5 /* prop */
            invokevirtual org.apache.logging.log4j.core.config.Property.isValueNeedsLookup:()Z
            ifeq 14
        13: .line 373
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig;
            getfield org.apache.logging.log4j.core.Logger$PrivateConfig.config:Lorg/apache/logging/log4j/core/config/Configuration;
            invokeinterface org.apache.logging.log4j.core.config.Configuration.getStrSubstitutor:()Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
            aload 1 /* event */
            aload 5 /* prop */
            invokevirtual org.apache.logging.log4j.core.config.Property.getValue:()Ljava/lang/String;
            invokevirtual org.apache.logging.log4j.core.lookup.StrSubstitutor.replace:(Lorg/apache/logging/log4j/core/LogEvent;Ljava/lang/String;)Ljava/lang/String;
            goto 15
        14: .line 374
      StackMap locals:
      StackMap stack:
            aload 5 /* prop */
            invokevirtual org.apache.logging.log4j.core.config.Property.getValue:()Ljava/lang/String;
        15: .line 372
      StackMap locals:
      StackMap stack: java.lang.String
            astore 6 /* value */
        start local 6 // java.lang.String value
        16: .line 375
            aload 3 /* contextData */
            aload 5 /* prop */
            invokevirtual org.apache.logging.log4j.core.config.Property.getName:()Ljava/lang/String;
            aload 6 /* value */
            invokeinterface org.apache.logging.log4j.util.StringMap.putValue:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // java.lang.String value
        end local 5 // org.apache.logging.log4j.core.config.Property prop
        17: .line 367
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 2 /* properties */
            invokeinterface java.util.List.size:()I
            if_icmplt 9
        end local 4 // int i
        19: .line 377
            aload 1 /* event */
            aload 3 /* contextData */
            invokevirtual org.apache.logging.log4j.core.async.RingBufferLogEvent.setContextData:(Lorg/apache/logging/log4j/util/StringMap;)V
        end local 3 // org.apache.logging.log4j.util.StringMap contextData
        20: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.async.AsyncLogger.privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig;
            getfield org.apache.logging.log4j.core.Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig;
            invokevirtual org.apache.logging.log4j.core.config.LoggerConfig.getReliabilityStrategy:()Lorg/apache/logging/log4j/core/config/ReliabilityStrategy;
            astore 3 /* strategy */
        start local 3 // org.apache.logging.log4j.core.config.ReliabilityStrategy strategy
        21: .line 381
            aload 3 /* strategy */
            aload 0 /* this */
            aload 1 /* event */
            invokeinterface org.apache.logging.log4j.core.config.ReliabilityStrategy.log:(Lorg/apache/logging/log4j/util/Supplier;Lorg/apache/logging/log4j/core/LogEvent;)V
        22: .line 382
            return
        end local 3 // org.apache.logging.log4j.core.config.ReliabilityStrategy strategy
        end local 2 // java.util.List properties
        end local 1 // org.apache.logging.log4j.core.async.RingBufferLogEvent event
        end local 0 // org.apache.logging.log4j.core.async.AsyncLogger this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lorg/apache/logging/log4j/core/async/AsyncLogger;
            0   23     1        event  Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;
            1   23     2   properties  Ljava/util/List<Lorg/apache/logging/log4j/core/config/Property;>;
            3   20     3  contextData  Lorg/apache/logging/log4j/util/StringMap;
            5    7     4         temp  Lorg/apache/logging/log4j/util/StringMap;
            8   19     4            i  I
           10   17     5         prop  Lorg/apache/logging/log4j/core/config/Property;
           16   17     6        value  Ljava/lang/String;
           21   23     3     strategy  Lorg/apache/logging/log4j/core/config/ReliabilityStrategy;
    MethodParameters:
       Name  Flags
      event  final

  public void translateTo(java.lang.Object, long, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;J[Ljava/lang/Object;)V
    flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.logging.log4j.core.async.RingBufferLogEvent
            lload 2
            aload 4
            invokevirtual org.apache.logging.log4j.core.async.AsyncLogger.translateTo:(Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;J[Ljava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 66
            getstatic org.apache.logging.log4j.core.async.AsyncLogger.$SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.logging.log4j.core.async.EventRoute.values:()[Lorg/apache/logging/log4j/core/async/EventRoute;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.logging.log4j.core.async.EventRoute.DISCARD:Lorg/apache/logging/log4j/core/async/EventRoute;
            invokevirtual org.apache.logging.log4j.core.async.EventRoute.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.logging.log4j.core.async.EventRoute.ENQUEUE:Lorg/apache/logging/log4j/core/async/EventRoute;
            invokevirtual org.apache.logging.log4j.core.async.EventRoute.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.logging.log4j.core.async.EventRoute.SYNCHRONOUS:Lorg/apache/logging/log4j/core/async/EventRoute;
            invokevirtual org.apache.logging.log4j.core.async.EventRoute.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.logging.log4j.core.async.AsyncLogger.$SWITCH_TABLE$org$apache$logging$log4j$core$async$EventRoute:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
Signature: Lorg/apache/logging/log4j/core/Logger;Lcom/lmax/disruptor/EventTranslatorVararg<Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;>;
SourceFile: "AsyncLogger.java"
InnerClasses:
  public abstract ContextStack = org.apache.logging.log4j.ThreadContext$ContextStack of org.apache.logging.log4j.ThreadContext
  protected PrivateConfig = org.apache.logging.log4j.core.Logger$PrivateConfig of org.apache.logging.log4j.core.Logger