public final class org.mongodb.morphia.logging.MorphiaLoggerFactory
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.mongodb.morphia.logging.MorphiaLoggerFactory
super_class: java.lang.Object
{
private static final java.util.List<java.lang.String> FACTORIES;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private static org.mongodb.morphia.logging.LoggerFactory loggerFactory;
descriptor: Lorg/mongodb/morphia/logging/LoggerFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.FACTORIES:Ljava/util/List;
1: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.FACTORIES:Ljava/util/List;
ldc "org.mongodb.morphia.logging.slf4j.SLF4JLoggerImplFactory"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.FACTORIES:Ljava/util/List;
ldc Lorg/mongodb/morphia/logging/jdk/JDKLoggerFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/logging/MorphiaLoggerFactory;
public static org.mongodb.morphia.logging.Logger get(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.init:()V
1: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
aload 0
invokeinterface org.mongodb.morphia.logging.LoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lorg/mongodb/morphia/logging/Logger;
MethodParameters:
Name Flags
c final
private static synchronized void init();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
ifnonnull 2
1: invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.chooseLoggerFactory:()V
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
private static void chooseLoggerFactory();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.FACTORIES:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
goto 6
StackMap locals: top java.util.Iterator
StackMap stack:
1: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 2: aload 0
invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.newInstance:(Ljava/lang/String;)Lorg/mongodb/morphia/logging/LoggerFactory;
putstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
3: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
ifnull 6
4: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
ldc Lorg/mongodb/morphia/logging/MorphiaLoggerFactory;
invokeinterface org.mongodb.morphia.logging.LoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "LoggerImplFactory set to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.info:(Ljava/lang/String;)V
5: return
end local 0 6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: new java.lang.IllegalStateException
dup
ldc "Cannot instantiate any MorphiaLoggerFactory"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
2 6 0 f Ljava/lang/String;
private static org.mongodb.morphia.logging.LoggerFactory newInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/mongodb/morphia/logging/LoggerFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast org.mongodb.morphia.logging.LoggerFactory
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
pop
3: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 f Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
f final
public static void registerLogger(java.lang.Class<? extends org.mongodb.morphia.logging.LoggerFactory>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
ifnonnull 3
1: getstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.FACTORIES:Ljava/util/List;
iconst_0
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "LoggerImplFactory must be registered before logging is initialized."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 factoryClass Ljava/lang/Class<+Lorg/mongodb/morphia/logging/LoggerFactory;>;
Signature: (Ljava/lang/Class<+Lorg/mongodb/morphia/logging/LoggerFactory;>;)V
MethodParameters:
Name Flags
factoryClass final
public static void reset();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic org.mongodb.morphia.logging.MorphiaLoggerFactory.loggerFactory:Lorg/mongodb/morphia/logging/LoggerFactory;
1: return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MorphiaLoggerFactory.java"