public final class com.mongodb.diagnostics.logging.Loggers
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.mongodb.diagnostics.logging.Loggers
  super_class: java.lang.Object
{
  public static final java.lang.String PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.mongodb.driver"

  private static final boolean USE_SLF4J;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 32
            invokestatic com.mongodb.diagnostics.logging.Loggers.shouldUseSLF4J:()Z
            putstatic com.mongodb.diagnostics.logging.Loggers.USE_SLF4J:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.mongodb.diagnostics.logging.Logger getLogger(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/diagnostics/logging/Logger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String suffix
         0: .line 42
            ldc "suffix"
            aload 0 /* suffix */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 43
            aload 0 /* suffix */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 0 /* suffix */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 44
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The suffix can not start or end with a '.'"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 47
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "org.mongodb.driver."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         4: .line 49
            getstatic com.mongodb.diagnostics.logging.Loggers.USE_SLF4J:Z
            ifeq 6
         5: .line 50
            new com.mongodb.diagnostics.logging.SLF4JLogger
            dup
            aload 1 /* name */
            invokespecial com.mongodb.diagnostics.logging.SLF4JLogger.<init>:(Ljava/lang/String;)V
            areturn
         6: .line 52
      StackMap locals: java.lang.String
      StackMap stack:
            new com.mongodb.diagnostics.logging.JULLogger
            dup
            aload 1 /* name */
            invokespecial com.mongodb.diagnostics.logging.JULLogger.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.String suffix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  suffix  Ljava/lang/String;
            4    7     1    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  final

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.diagnostics.logging.Loggers this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            return
        end local 0 // com.mongodb.diagnostics.logging.Loggers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/diagnostics/logging/Loggers;

  private static boolean shouldUseSLF4J();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 61
            ldc "org.slf4j.Logger"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         1: .line 62
            iconst_1
            ireturn
         2: .line 63
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         3: .line 64
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
}
SourceFile: "Loggers.java"