final class org.jboss.logging.LoggerProviders
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.jboss.logging.LoggerProviders
  super_class: java.lang.Object
{
  static final java.lang.String LOGGING_PROVIDER_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jboss.logging.provider"

  static final org.jboss.logging.LoggerProvider PROVIDER;
    descriptor: Lorg/jboss/logging/LoggerProvider;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 29
            invokestatic org.jboss.logging.LoggerProviders.find:()Lorg/jboss/logging/LoggerProvider;
            putstatic org.jboss.logging.LoggerProviders.PROVIDER:Lorg/jboss/logging/LoggerProvider;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.jboss.logging.LoggerProvider find();
    descriptor: ()Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 32
            invokestatic org.jboss.logging.LoggerProviders.findProvider:()Lorg/jboss/logging/LoggerProvider;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.jboss.logging.LoggerProvider findProvider();
    descriptor: ()Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 39
            ldc Lorg/jboss/logging/LoggerProviders;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* cl */
        start local 0 // java.lang.ClassLoader cl
         1: .line 42
            ldc "org.jboss.logging.provider"
            invokestatic org.jboss.logging.SecurityActions.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* loggerProvider */
        start local 1 // java.lang.String loggerProvider
         2: .line 43
            aload 1 /* loggerProvider */
            ifnull 19
         3: .line 44
            ldc "jboss"
            aload 1 /* loggerProvider */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 45
            aload 0 /* cl */
            ldc "system property"
            invokestatic org.jboss.logging.LoggerProviders.tryJBossLogManager:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
         5: areturn
         6: .line 46
      StackMap locals: java.lang.ClassLoader java.lang.String
      StackMap stack:
            ldc "jdk"
            aload 1 /* loggerProvider */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 47
            ldc "system property"
            invokestatic org.jboss.logging.LoggerProviders.tryJDK:(Ljava/lang/String;)Lorg/jboss/logging/JDKLoggerProvider;
         8: areturn
         9: .line 48
      StackMap locals:
      StackMap stack:
            ldc "log4j2"
            aload 1 /* loggerProvider */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 49
            aload 0 /* cl */
            ldc "system property"
            invokestatic org.jboss.logging.LoggerProviders.tryLog4j2:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        11: areturn
        12: .line 50
      StackMap locals:
      StackMap stack:
            ldc "log4j"
            aload 1 /* loggerProvider */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 51
            aload 0 /* cl */
            ldc "system property"
            invokestatic org.jboss.logging.LoggerProviders.tryLog4j:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        14: areturn
        15: .line 52
      StackMap locals:
      StackMap stack:
            ldc "slf4j"
            aload 1 /* loggerProvider */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        16: .line 53
            ldc "system property"
            invokestatic org.jboss.logging.LoggerProviders.trySlf4j:(Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        17: areturn
        end local 1 // java.lang.String loggerProvider
        18: .line 56
      StackMap locals: java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            pop
        19: .line 62
      StackMap locals:
      StackMap stack:
            ldc Lorg/jboss/logging/LoggerProvider;
            aload 0 /* cl */
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            astore 1 /* loader */
        start local 1 // java.util.ServiceLoader loader
        20: .line 63
            aload 1 /* loader */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
        21: .line 66
      StackMap locals: java.util.ServiceLoader java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        22: goto 30
        23: .line 67
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jboss.logging.LoggerProvider
            astore 3 /* provider */
        start local 3 // org.jboss.logging.LoggerProvider provider
        24: .line 69
            aload 3 /* provider */
            ldc "service loader"
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
        25: .line 70
            aload 3 /* provider */
        26: areturn
        end local 3 // org.jboss.logging.LoggerProvider provider
        27: .line 71
      StackMap locals:
      StackMap stack: java.util.ServiceConfigurationError
            pop
        28: .line 64
            goto 21
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.ServiceLoader loader
        29: .line 73
      StackMap locals: java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            pop
        30: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            aconst_null
            invokestatic org.jboss.logging.LoggerProviders.tryJBossLogManager:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        31: areturn
        32: .line 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        33: .line 85
            aload 0 /* cl */
            aconst_null
            invokestatic org.jboss.logging.LoggerProviders.tryLog4j2:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        34: areturn
        35: .line 86
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        36: .line 90
            aload 0 /* cl */
            aconst_null
            invokestatic org.jboss.logging.LoggerProviders.tryLog4j:(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        37: areturn
        38: .line 91
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        39: .line 96
            ldc "ch.qos.logback.classic.Logger"
            iconst_0
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
        40: .line 97
            aconst_null
            invokestatic org.jboss.logging.LoggerProviders.trySlf4j:(Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
        41: areturn
        42: .line 98
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        43: .line 101
            aconst_null
            invokestatic org.jboss.logging.LoggerProviders.tryJDK:(Ljava/lang/String;)Lorg/jboss/logging/JDKLoggerProvider;
            areturn
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1   44     0              cl  Ljava/lang/ClassLoader;
            2   18     1  loggerProvider  Ljava/lang/String;
           20   29     1          loader  Ljava/util/ServiceLoader<Lorg/jboss/logging/LoggerProvider;>;
           21   29     2            iter  Ljava/util/Iterator<Lorg/jboss/logging/LoggerProvider;>;
           24   27     3        provider  Lorg/jboss/logging/LoggerProvider;
      Exception table:
        from    to  target  type
           1     5      18  Class java.lang.Throwable
           6     8      18  Class java.lang.Throwable
           9    11      18  Class java.lang.Throwable
          12    14      18  Class java.lang.Throwable
          15    17      18  Class java.lang.Throwable
          21    22      27  Class java.util.ServiceConfigurationError
          23    26      27  Class java.util.ServiceConfigurationError
          19    26      29  Class java.lang.Throwable
          27    29      29  Class java.lang.Throwable
          30    31      32  Class java.lang.Throwable
          33    34      35  Class java.lang.Throwable
          36    37      38  Class java.lang.Throwable
          39    41      42  Class java.lang.Throwable

  private static org.jboss.logging.JDKLoggerProvider tryJDK(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jboss/logging/JDKLoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String via
         0: .line 105
            new org.jboss.logging.JDKLoggerProvider
            dup
            invokespecial org.jboss.logging.JDKLoggerProvider.<init>:()V
            astore 1 /* provider */
        start local 1 // org.jboss.logging.JDKLoggerProvider provider
         1: .line 106
            aload 1 /* provider */
            aload 0 /* via */
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
         2: .line 107
            aload 1 /* provider */
            areturn
        end local 1 // org.jboss.logging.JDKLoggerProvider provider
        end local 0 // java.lang.String via
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       via  Ljava/lang/String;
            1    3     1  provider  Lorg/jboss/logging/JDKLoggerProvider;
    MethodParameters:
      Name  Flags
      via   final

  private static org.jboss.logging.LoggerProvider trySlf4j(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String via
         0: .line 111
            new org.jboss.logging.Slf4jLoggerProvider
            dup
            invokespecial org.jboss.logging.Slf4jLoggerProvider.<init>:()V
            astore 1 /* provider */
        start local 1 // org.jboss.logging.LoggerProvider provider
         1: .line 112
            aload 1 /* provider */
            aload 0 /* via */
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
         2: .line 113
            aload 1 /* provider */
            areturn
        end local 1 // org.jboss.logging.LoggerProvider provider
        end local 0 // java.lang.String via
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       via  Ljava/lang/String;
            1    3     1  provider  Lorg/jboss/logging/LoggerProvider;
    MethodParameters:
      Name  Flags
      via   final

  private static org.jboss.logging.LoggerProvider tryLog4j2(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.String via
         0: .line 118
            ldc "org.apache.logging.log4j.Logger"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         1: .line 119
            ldc "org.apache.logging.log4j.LogManager"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         2: .line 120
            ldc "org.apache.logging.log4j.spi.AbstractLogger"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         3: .line 121
            new org.jboss.logging.Log4j2LoggerProvider
            dup
            invokespecial org.jboss.logging.Log4j2LoggerProvider.<init>:()V
            astore 2 /* provider */
        start local 2 // org.jboss.logging.LoggerProvider provider
         4: .line 123
            aload 2 /* provider */
            aload 1 /* via */
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
         5: .line 124
            aload 2 /* provider */
            areturn
        end local 2 // org.jboss.logging.LoggerProvider provider
        end local 1 // java.lang.String via
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        cl  Ljava/lang/ClassLoader;
            0    6     1       via  Ljava/lang/String;
            4    6     2  provider  Lorg/jboss/logging/LoggerProvider;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      cl    final
      via   final

  private static org.jboss.logging.LoggerProvider tryLog4j(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.String via
         0: .line 128
            ldc "org.apache.log4j.LogManager"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         1: .line 131
            ldc "org.apache.log4j.config.PropertySetter"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         2: .line 132
            new org.jboss.logging.Log4jLoggerProvider
            dup
            invokespecial org.jboss.logging.Log4jLoggerProvider.<init>:()V
            astore 2 /* provider */
        start local 2 // org.jboss.logging.LoggerProvider provider
         3: .line 133
            aload 2 /* provider */
            aload 1 /* via */
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
         4: .line 134
            aload 2 /* provider */
            areturn
        end local 2 // org.jboss.logging.LoggerProvider provider
        end local 1 // java.lang.String via
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0        cl  Ljava/lang/ClassLoader;
            0    5     1       via  Ljava/lang/String;
            3    5     2  provider  Lorg/jboss/logging/LoggerProvider;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      cl    final
      via   final

  private static org.jboss.logging.LoggerProvider tryJBossLogManager(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/jboss/logging/LoggerProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.String via
         0: .line 138
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* logManagerClass */
        start local 2 // java.lang.Class logManagerClass
         1: .line 139
            aload 2 /* logManagerClass */
            ldc "org.jboss.logmanager.LogManager"
            iconst_0
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            if_acmpne 6
         2: .line 140
            ldc "org.jboss.logmanager.Logger$AttachmentKey"
            iconst_1
            aload 0 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 2 /* logManagerClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 6
         3: .line 141
            new org.jboss.logging.JBossLogManagerProvider
            dup
            invokespecial org.jboss.logging.JBossLogManagerProvider.<init>:()V
            astore 3 /* provider */
        start local 3 // org.jboss.logging.LoggerProvider provider
         4: .line 142
            aload 3 /* provider */
            aload 1 /* via */
            invokestatic org.jboss.logging.LoggerProviders.logProvider:(Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
         5: .line 143
            aload 3 /* provider */
            areturn
        end local 3 // org.jboss.logging.LoggerProvider provider
         6: .line 145
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 2 // java.lang.Class logManagerClass
        end local 1 // java.lang.String via
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0               cl  Ljava/lang/ClassLoader;
            0    7     1              via  Ljava/lang/String;
            1    7     2  logManagerClass  Ljava/lang/Class<+Ljava/util/logging/LogManager;>;
            4    6     3         provider  Lorg/jboss/logging/LoggerProvider;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      cl    final
      via   final

  private static void logProvider(org.jboss.logging.LoggerProvider, java.lang.String);
    descriptor: (Lorg/jboss/logging/LoggerProvider;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jboss.logging.LoggerProvider provider
        start local 1 // java.lang.String via
         0: .line 150
            aload 0 /* provider */
            ldc Lorg/jboss/logging/LoggerProviders;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            invokeinterface org.jboss.logging.LoggerProvider.getLogger:(Ljava/lang/String;)Lorg/jboss/logging/Logger;
            astore 2 /* logger */
        start local 2 // org.jboss.logging.Logger logger
         1: .line 151
            aload 1 /* via */
            ifnonnull 4
         2: .line 152
            aload 2 /* logger */
            ldc "Logging Provider: %s"
            aload 0 /* provider */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 153
            goto 5
         4: .line 154
      StackMap locals: org.jboss.logging.Logger
      StackMap stack:
            aload 2 /* logger */
            ldc "Logging Provider: %s found via %s"
            aload 0 /* provider */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 1 /* via */
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 156
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jboss.logging.Logger logger
        end local 1 // java.lang.String via
        end local 0 // org.jboss.logging.LoggerProvider provider
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  provider  Lorg/jboss/logging/LoggerProvider;
            0    6     1       via  Ljava/lang/String;
            1    6     2    logger  Lorg/jboss/logging/Logger;
    MethodParameters:
          Name  Flags
      provider  final
      via       final

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jboss.logging.LoggerProviders this
         0: .line 158
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 159
            return
        end local 0 // org.jboss.logging.LoggerProviders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jboss/logging/LoggerProviders;
}
SourceFile: "LoggerProviders.java"