public class ch.qos.logback.classic.db.DBAppender extends ch.qos.logback.core.db.DBAppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: ch.qos.logback.classic.db.DBAppender
super_class: ch.qos.logback.core.db.DBAppenderBase
{
protected java.lang.String insertPropertiesSQL;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String insertExceptionSQL;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String insertSQL;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected static final java.lang.reflect.Method GET_GENERATED_KEYS_METHOD;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private ch.qos.logback.classic.db.names.DBNameResolver dbNameResolver;
descriptor: Lch/qos/logback/classic/db/names/DBNameResolver;
flags: (0x0002) ACC_PRIVATE
static final int TIMESTMP_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int FORMATTED_MESSAGE_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int LOGGER_NAME_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int LEVEL_STRING_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int THREAD_NAME_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int REFERENCE_FLAG_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int ARG0_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int ARG1_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int ARG2_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int ARG3_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int CALLER_FILENAME_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 11
static final int CALLER_CLASS_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12
static final int CALLER_METHOD_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 13
static final int CALLER_LINE_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 14
static final int EVENT_ID_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
static final java.lang.StackTraceElement EMPTY_CALLER_DATA;
descriptor: Ljava/lang/StackTraceElement;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic ch.qos.logback.classic.spi.CallerData.naInstance:()Ljava/lang/StackTraceElement;
putstatic ch.qos.logback.classic.db.DBAppender.EMPTY_CALLER_DATA:Ljava/lang/StackTraceElement;
1: ldc Ljava/sql/PreparedStatement;
ldc "getGeneratedKeys"
aconst_null
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 0
start local 0 2: goto 5
end local 0 StackMap locals:
StackMap stack: java.lang.Exception
3: pop
4: aconst_null
astore 0
start local 0 5: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
putstatic ch.qos.logback.classic.db.DBAppender.GET_GENERATED_KEYS_METHOD:Ljava/lang/reflect/Method;
end local 0 6: return
LocalVariableTable:
Start End Slot Name Signature
2 3 0 getGeneratedKeysMethod Ljava/lang/reflect/Method;
5 6 0 getGeneratedKeysMethod Ljava/lang/reflect/Method;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial ch.qos.logback.core.db.DBAppenderBase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/classic/db/DBAppender;
public void setDbNameResolver(ch.qos.logback.classic.db.names.DBNameResolver);
descriptor: (Lch/qos/logback/classic/db/names/DBNameResolver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/classic/db/DBAppender;
0 2 1 dbNameResolver Lch/qos/logback/classic/db/names/DBNameResolver;
MethodParameters:
Name Flags
dbNameResolver
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
ifnonnull 2
1: aload 0
new ch.qos.logback.classic.db.names.DefaultDBNameResolver
dup
invokespecial ch.qos.logback.classic.db.names.DefaultDBNameResolver.<init>:()V
putfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
invokestatic ch.qos.logback.classic.db.SQLBuilder.buildInsertExceptionSQL:(Lch/qos/logback/classic/db/names/DBNameResolver;)Ljava/lang/String;
putfield ch.qos.logback.classic.db.DBAppender.insertExceptionSQL:Ljava/lang/String;
3: aload 0
aload 0
getfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
invokestatic ch.qos.logback.classic.db.SQLBuilder.buildInsertPropertiesSQL:(Lch/qos/logback/classic/db/names/DBNameResolver;)Ljava/lang/String;
putfield ch.qos.logback.classic.db.DBAppender.insertPropertiesSQL:Ljava/lang/String;
4: aload 0
aload 0
getfield ch.qos.logback.classic.db.DBAppender.dbNameResolver:Lch/qos/logback/classic/db/names/DBNameResolver;
invokestatic ch.qos.logback.classic.db.SQLBuilder.buildInsertSQL:(Lch/qos/logback/classic/db/names/DBNameResolver;)Ljava/lang/String;
putfield ch.qos.logback.classic.db.DBAppender.insertSQL:Ljava/lang/String;
5: aload 0
invokespecial ch.qos.logback.core.db.DBAppenderBase.start:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/classic/db/DBAppender;
protected void subAppend(ch.qos.logback.classic.spi.ILoggingEvent, java.sql.Connection, java.sql.PreparedStatement);
descriptor: (Lch/qos/logback/classic/spi/ILoggingEvent;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
aload 1
invokevirtual ch.qos.logback.classic.db.DBAppender.bindLoggingEventWithInsertStatement:(Ljava/sql/PreparedStatement;Lch/qos/logback/classic/spi/ILoggingEvent;)V
1: aload 0
aload 3
aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getArgumentArray:()[Ljava/lang/Object;
invokevirtual ch.qos.logback.classic.db.DBAppender.bindLoggingEventArgumentsWithPreparedStatement:(Ljava/sql/PreparedStatement;[Ljava/lang/Object;)V
2: aload 0
aload 3
aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getCallerData:()[Ljava/lang/StackTraceElement;
invokevirtual ch.qos.logback.classic.db.DBAppender.bindCallerDataWithPreparedStatement:(Ljava/sql/PreparedStatement;[Ljava/lang/StackTraceElement;)V
3: aload 3
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
istore 4
start local 4 4: iload 4
iconst_1
if_icmpeq 6
5: aload 0
ldc "Failed to insert loggingEvent"
invokevirtual ch.qos.logback.classic.db.DBAppender.addWarn:(Ljava/lang/String;)V
6: StackMap locals: int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/classic/db/DBAppender;
0 7 1 event Lch/qos/logback/classic/spi/ILoggingEvent;
0 7 2 connection Ljava/sql/Connection;
0 7 3 insertStatement Ljava/sql/PreparedStatement;
4 7 4 updateCount I
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
event
connection
insertStatement
protected void secondarySubAppend(ch.qos.logback.classic.spi.ILoggingEvent, java.sql.Connection, long);
descriptor: (Lch/qos/logback/classic/spi/ILoggingEvent;Ljava/sql/Connection;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual ch.qos.logback.classic.db.DBAppender.mergePropertyMaps:(Lch/qos/logback/classic/spi/ILoggingEvent;)Ljava/util/Map;
astore 5
start local 5 1: aload 0
aload 5
aload 2
lload 3
invokevirtual ch.qos.logback.classic.db.DBAppender.insertProperties:(Ljava/util/Map;Ljava/sql/Connection;J)V
2: aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getThrowableProxy:()Lch/qos/logback/classic/spi/IThrowableProxy;
ifnull 4
3: aload 0
aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getThrowableProxy:()Lch/qos/logback/classic/spi/IThrowableProxy;
aload 2
lload 3
invokevirtual ch.qos.logback.classic.db.DBAppender.insertThrowable:(Lch/qos/logback/classic/spi/IThrowableProxy;Ljava/sql/Connection;J)V
4: StackMap locals: java.util.Map
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lch/qos/logback/classic/db/DBAppender;
0 5 1 event Lch/qos/logback/classic/spi/ILoggingEvent;
0 5 2 connection Ljava/sql/Connection;
0 5 3 eventId J
1 5 5 mergedMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
event
connection
eventId
void bindLoggingEventWithInsertStatement(java.sql.PreparedStatement, ch.qos.logback.classic.spi.ILoggingEvent);
descriptor: (Ljava/sql/PreparedStatement;Lch/qos/logback/classic/spi/ILoggingEvent;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
aload 2
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getTimeStamp:()J
invokeinterface java.sql.PreparedStatement.setLong:(IJ)V
1: aload 1
iconst_2
aload 2
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getFormattedMessage:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
2: aload 1
iconst_3
aload 2
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getLoggerName:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
3: aload 1
iconst_4
aload 2
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getLevel:()Lch/qos/logback/classic/Level;
invokevirtual ch.qos.logback.classic.Level.toString:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
4: aload 1
iconst_5
aload 2
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getThreadName:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
5: aload 1
bipush 6
aload 2
invokestatic ch.qos.logback.classic.db.DBHelper.computeReferenceMask:(Lch/qos/logback/classic/spi/ILoggingEvent;)S
invokeinterface java.sql.PreparedStatement.setShort:(IS)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/classic/db/DBAppender;
0 7 1 stmt Ljava/sql/PreparedStatement;
0 7 2 event Lch/qos/logback/classic/spi/ILoggingEvent;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
stmt
event
void bindLoggingEventArgumentsWithPreparedStatement(java.sql.PreparedStatement, java.lang.Object[]);
descriptor: (Ljava/sql/PreparedStatement;[Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
arraylength
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 1
bipush 7
iload 4
iadd
aload 0
aload 2
iload 4
aaload
invokevirtual ch.qos.logback.classic.db.DBAppender.asStringTruncatedTo254:(Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmpge 8
iload 4
iconst_4
if_icmplt 5
end local 4 8: StackMap locals:
StackMap stack:
iload 3
iconst_4
if_icmpge 14
9: iload 3
istore 4
start local 4 10: goto 13
11: StackMap locals: int
StackMap stack:
aload 1
bipush 7
iload 4
iadd
aconst_null
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iconst_4
if_icmplt 11
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lch/qos/logback/classic/db/DBAppender;
0 15 1 stmt Ljava/sql/PreparedStatement;
0 15 2 argArray [Ljava/lang/Object;
3 15 3 arrayLen I
4 8 4 i I
10 14 4 i I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
stmt
argArray
java.lang.String asStringTruncatedTo254(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
sipush 254
if_icmpgt 7
6: aload 2
areturn
7: StackMap locals:
StackMap stack:
aload 2
iconst_0
sipush 254
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/classic/db/DBAppender;
0 8 1 o Ljava/lang/Object;
1 8 2 s Ljava/lang/String;
MethodParameters:
Name Flags
o
void bindCallerDataWithPreparedStatement(java.sql.PreparedStatement, java.lang.StackTraceElement[]);
descriptor: (Ljava/sql/PreparedStatement;[Ljava/lang/StackTraceElement;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual ch.qos.logback.classic.db.DBAppender.extractFirstCaller:([Ljava/lang/StackTraceElement;)Ljava/lang/StackTraceElement;
astore 3
start local 3 1: aload 1
bipush 11
aload 3
invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
2: aload 1
bipush 12
aload 3
invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
3: aload 1
bipush 13
aload 3
invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
4: aload 1
bipush 14
aload 3
invokevirtual java.lang.StackTraceElement.getLineNumber:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/classic/db/DBAppender;
0 6 1 stmt Ljava/sql/PreparedStatement;
0 6 2 callerDataArray [Ljava/lang/StackTraceElement;
1 6 3 caller Ljava/lang/StackTraceElement;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
stmt
callerDataArray
private java.lang.StackTraceElement (java.lang.StackTraceElement[]);
descriptor: ([Ljava/lang/StackTraceElement;)Ljava/lang/StackTraceElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic ch.qos.logback.classic.db.DBAppender.EMPTY_CALLER_DATA:Ljava/lang/StackTraceElement;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual ch.qos.logback.classic.db.DBAppender.hasAtLeastOneNonNullElement:([Ljava/lang/StackTraceElement;)Z
ifeq 3
2: aload 1
iconst_0
aaload
astore 2
3: StackMap locals: java.lang.StackTraceElement
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/classic/db/DBAppender;
0 4 1 callerDataArray [Ljava/lang/StackTraceElement;
1 4 2 caller Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
callerDataArray
private boolean hasAtLeastOneNonNullElement(java.lang.StackTraceElement[]);
descriptor: ([Ljava/lang/StackTraceElement;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
arraylength
ifle 1
aload 1
iconst_0
aaload
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/classic/db/DBAppender;
0 2 1 callerDataArray [Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
callerDataArray
java.util.Map<java.lang.String, java.lang.String> mergePropertyMaps(ch.qos.logback.classic.spi.ILoggingEvent);
descriptor: (Lch/qos/logback/classic/spi/ILoggingEvent;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getLoggerContextVO:()Lch/qos/logback/classic/spi/LoggerContextVO;
invokevirtual ch.qos.logback.classic.spi.LoggerContextVO.getPropertyMap:()Ljava/util/Map;
astore 3
start local 3 2: aload 1
invokeinterface ch.qos.logback.classic.spi.ILoggingEvent.getMDCPropertyMap:()Ljava/util/Map;
astore 4
start local 4 3: aload 3
ifnull 5
4: aload 2
aload 3
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
5: StackMap locals: java.util.Map java.util.Map java.util.Map
StackMap stack:
aload 4
ifnull 7
6: aload 2
aload 4
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/classic/db/DBAppender;
0 8 1 event Lch/qos/logback/classic/spi/ILoggingEvent;
1 8 2 mergedMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
2 8 3 loggerContextMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 8 4 mdcMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Lch/qos/logback/classic/spi/ILoggingEvent;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
event
protected java.lang.reflect.Method getGeneratedKeysMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic ch.qos.logback.classic.db.DBAppender.GET_GENERATED_KEYS_METHOD:Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/classic/db/DBAppender;
protected java.lang.String getInsertSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.classic.db.DBAppender.insertSQL:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/classic/db/DBAppender;
protected void insertProperties(java.util.Map<java.lang.String, java.lang.String>, java.sql.Connection, );
descriptor: (Ljava/util/Map;Ljava/sql/Connection;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 5
start local 5 1: aload 5
invokeinterface java.util.Set.size:()I
ifle 22
2: aconst_null
astore 6
start local 6 3: aload 2
aload 0
getfield ch.qos.logback.classic.db.DBAppender.insertPropertiesSQL:Ljava/lang/String;
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 6
4: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: ch.qos.logback.classic.db.DBAppender java.util.Map java.sql.Connection long java.util.Set java.sql.PreparedStatement top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 6: aload 1
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 7: aload 6
iconst_1
lload 3
invokeinterface java.sql.PreparedStatement.setLong:(IJ)V
8: aload 6
iconst_2
aload 7
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
9: aload 6
iconst_3
aload 9
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
10: aload 0
getfield ch.qos.logback.classic.db.DBAppender.cnxSupportsBatchUpdates:Z
ifeq 13
11: aload 6
invokeinterface java.sql.PreparedStatement.addBatch:()V
12: goto 14
13: StackMap locals: ch.qos.logback.classic.db.DBAppender java.util.Map java.sql.Connection long java.util.Set java.sql.PreparedStatement java.lang.String java.util.Iterator java.lang.String
StackMap stack:
aload 6
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
end local 9 end local 7 14: StackMap locals: ch.qos.logback.classic.db.DBAppender java.util.Map java.sql.Connection long java.util.Set java.sql.PreparedStatement top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
15: aload 0
getfield ch.qos.logback.classic.db.DBAppender.cnxSupportsBatchUpdates:Z
ifeq 21
16: aload 6
invokeinterface java.sql.PreparedStatement.executeBatch:()[I
pop
17: goto 21
StackMap locals: ch.qos.logback.classic.db.DBAppender java.util.Map java.sql.Connection long java.util.Set java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
18: astore 10
19: aload 6
invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
20: aload 10
athrow
21: StackMap locals:
StackMap stack:
aload 6
invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
end local 6 22: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lch/qos/logback/classic/db/DBAppender;
0 23 1 mergedMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 23 2 connection Ljava/sql/Connection;
0 23 3 eventId J
1 23 5 propertiesKeys Ljava/util/Set<Ljava/lang/String;>;
3 22 6 insertPropertiesStatement Ljava/sql/PreparedStatement;
6 14 7 key Ljava/lang/String;
7 14 9 value Ljava/lang/String;
Exception table:
from to target type
3 18 18 any
Exceptions:
throws java.sql.SQLException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/sql/Connection;J)V
MethodParameters:
Name Flags
mergedMap
connection
eventId
void updateExceptionStatement(java.sql.PreparedStatement, java.lang.String, short, long);
descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/String;SJ)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iconst_1
lload 4
invokeinterface java.sql.PreparedStatement.setLong:(IJ)V
1: aload 1
iconst_2
iload 3
invokeinterface java.sql.PreparedStatement.setShort:(IS)V
2: aload 1
iconst_3
aload 2
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
3: aload 0
getfield ch.qos.logback.classic.db.DBAppender.cnxSupportsBatchUpdates:Z
ifeq 6
4: aload 1
invokeinterface java.sql.PreparedStatement.addBatch:()V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/classic/db/DBAppender;
0 8 1 exceptionStatement Ljava/sql/PreparedStatement;
0 8 2 txt Ljava/lang/String;
0 8 3 i S
0 8 4 eventId J
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
exceptionStatement
txt
i
eventId
short buildExceptionStatement(ch.qos.logback.classic.spi.IThrowableProxy, short, java.sql.PreparedStatement, long);
descriptor: (Lch/qos/logback/classic/spi/IThrowableProxy;SLjava/sql/PreparedStatement;J)S
flags: (0x0000)
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 1: aload 6
aload 1
invokestatic ch.qos.logback.classic.spi.ThrowableProxyUtil.subjoinFirstLine:(Ljava/lang/StringBuilder;Lch/qos/logback/classic/spi/IThrowableProxy;)V
2: aload 0
aload 3
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
dup
iconst_1
iadd
i2s
istore 2
lload 4
invokevirtual ch.qos.logback.classic.db.DBAppender.updateExceptionStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;SJ)V
3: aload 1
invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getCommonFrames:()I
istore 7
start local 7 4: aload 1
invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getStackTraceElementProxyArray:()[Lch/qos/logback/classic/spi/StackTraceElementProxy;
astore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 12
7: StackMap locals: ch.qos.logback.classic.db.DBAppender ch.qos.logback.classic.spi.IThrowableProxy int java.sql.PreparedStatement long java.lang.StringBuilder int ch.qos.logback.classic.spi.StackTraceElementProxy[] int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 10
start local 10 8: aload 10
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 10
aload 8
iload 9
aaload
invokestatic ch.qos.logback.classic.spi.ThrowableProxyUtil.subjoinSTEP:(Ljava/lang/StringBuilder;Lch/qos/logback/classic/spi/StackTraceElementProxy;)V
10: aload 0
aload 3
aload 10
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
dup
iconst_1
iadd
i2s
istore 2
lload 4
invokevirtual ch.qos.logback.classic.db.DBAppender.updateExceptionStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;SJ)V
end local 10 11: iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
aload 8
arraylength
iload 7
isub
if_icmplt 7
end local 9 13: iload 7
ifle 17
14: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 9
start local 9 15: aload 9
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " common frames omitted"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 0
aload 3
aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
dup
iconst_1
iadd
i2s
istore 2
lload 4
invokevirtual ch.qos.logback.classic.db.DBAppender.updateExceptionStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;SJ)V
end local 9 17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lch/qos/logback/classic/db/DBAppender;
0 18 1 tp Lch/qos/logback/classic/spi/IThrowableProxy;
0 18 2 baseIndex S
0 18 3 insertExceptionStatement Ljava/sql/PreparedStatement;
0 18 4 eventId J
1 18 6 buf Ljava/lang/StringBuilder;
4 18 7 commonFrames I
5 18 8 stepArray [Lch/qos/logback/classic/spi/StackTraceElementProxy;
6 13 9 i I
8 11 10 sb Ljava/lang/StringBuilder;
15 17 9 sb Ljava/lang/StringBuilder;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
tp
baseIndex
insertExceptionStatement
eventId
protected void insertThrowable(ch.qos.logback.classic.spi.IThrowableProxy, java.sql.Connection, long);
descriptor: (Lch/qos/logback/classic/spi/IThrowableProxy;Ljava/sql/Connection;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 5
start local 5 1: aload 2
aload 0
getfield ch.qos.logback.classic.db.DBAppender.insertExceptionSQL:Ljava/lang/String;
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 5
2: iconst_0
istore 6
start local 6 3: goto 6
4: StackMap locals: java.sql.PreparedStatement int
StackMap stack:
aload 0
aload 1
iload 6
aload 5
lload 3
invokevirtual ch.qos.logback.classic.db.DBAppender.buildExceptionStatement:(Lch/qos/logback/classic/spi/IThrowableProxy;SLjava/sql/PreparedStatement;J)S
istore 6
5: aload 1
invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getCause:()Lch/qos/logback/classic/spi/IThrowableProxy;
astore 1
6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
7: aload 0
getfield ch.qos.logback.classic.db.DBAppender.cnxSupportsBatchUpdates:Z
ifeq 13
8: aload 5
invokeinterface java.sql.PreparedStatement.executeBatch:()[I
pop
end local 6 9: goto 13
StackMap locals: ch.qos.logback.classic.db.DBAppender ch.qos.logback.classic.spi.IThrowableProxy java.sql.Connection long java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
10: astore 7
11: aload 5
invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
12: aload 7
athrow
13: StackMap locals:
StackMap stack:
aload 5
invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
14: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lch/qos/logback/classic/db/DBAppender;
0 15 1 tp Lch/qos/logback/classic/spi/IThrowableProxy;
0 15 2 connection Ljava/sql/Connection;
0 15 3 eventId J
1 15 5 exceptionStatement Ljava/sql/PreparedStatement;
3 9 6 baseIndex S
Exception table:
from to target type
1 10 10 any
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
tp
connection
eventId
protected void subAppend(java.lang.Object, java.sql.Connection, java.sql.PreparedStatement);
descriptor: (Ljava/lang/Object;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast ch.qos.logback.classic.spi.ILoggingEvent
aload 2
aload 3
invokevirtual ch.qos.logback.classic.db.DBAppender.subAppend:(Lch/qos/logback/classic/spi/ILoggingEvent;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Throwable
protected void secondarySubAppend(java.lang.Object, java.sql.Connection, long);
descriptor: (Ljava/lang/Object;Ljava/sql/Connection;J)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=4
0: aload 0
aload 1
checkcast ch.qos.logback.classic.spi.ILoggingEvent
aload 2
lload 3
invokevirtual ch.qos.logback.classic.db.DBAppender.secondarySubAppend:(Lch/qos/logback/classic/spi/ILoggingEvent;Ljava/sql/Connection;J)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Throwable
}
Signature: Lch/qos/logback/core/db/DBAppenderBase<Lch/qos/logback/classic/spi/ILoggingEvent;>;
SourceFile: "DBAppender.java"