public abstract class ch.qos.logback.core.net.AbstractSocketAppender<E> extends ch.qos.logback.core.AppenderBase<E> implements ch.qos.logback.core.net.SocketConnector$ExceptionHandler
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: ch.qos.logback.core.net.AbstractSocketAppender
super_class: ch.qos.logback.core.AppenderBase
{
public static final int DEFAULT_PORT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4560
public static final int DEFAULT_RECONNECTION_DELAY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 30000
public static final int DEFAULT_QUEUE_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int DEFAULT_ACCEPT_CONNECTION_DELAY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private static final int DEFAULT_EVENT_DELAY_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private final ch.qos.logback.core.net.ObjectWriterFactory objectWriterFactory;
descriptor: Lch/qos/logback/core/net/ObjectWriterFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final ch.qos.logback.core.net.QueueFactory queueFactory;
descriptor: Lch/qos/logback/core/net/QueueFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String remoteHost;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int port;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.net.InetAddress address;
descriptor: Ljava/net/InetAddress;
flags: (0x0002) ACC_PRIVATE
private ch.qos.logback.core.util.Duration reconnectionDelay;
descriptor: Lch/qos/logback/core/util/Duration;
flags: (0x0002) ACC_PRIVATE
private int queueSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int acceptConnectionTimeout;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private ch.qos.logback.core.util.Duration eventDelayLimit;
descriptor: Lch/qos/logback/core/util/Duration;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.BlockingDeque<E> deque;
descriptor: Ljava/util/concurrent/BlockingDeque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/BlockingDeque<TE;>;
private java.lang.String peerId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private ch.qos.logback.core.net.SocketConnector connector;
descriptor: Lch/qos/logback/core/net/SocketConnector;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.Future<?> task;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/Future<*>;
private volatile java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new ch.qos.logback.core.net.QueueFactory
dup
invokespecial ch.qos.logback.core.net.QueueFactory.<init>:()V
new ch.qos.logback.core.net.ObjectWriterFactory
dup
invokespecial ch.qos.logback.core.net.ObjectWriterFactory.<init>:()V
invokespecial ch.qos.logback.core.net.AbstractSocketAppender.<init>:(Lch/qos/logback/core/net/QueueFactory;Lch/qos/logback/core/net/ObjectWriterFactory;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
void <init>(ch.qos.logback.core.net.QueueFactory, ch.qos.logback.core.net.ObjectWriterFactory);
descriptor: (Lch/qos/logback/core/net/QueueFactory;Lch/qos/logback/core/net/ObjectWriterFactory;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial ch.qos.logback.core.AppenderBase.<init>:()V
1: aload 0
sipush 4560
putfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
2: aload 0
new ch.qos.logback.core.util.Duration
dup
ldc 30000
invokespecial ch.qos.logback.core.util.Duration.<init>:(J)V
putfield ch.qos.logback.core.net.AbstractSocketAppender.reconnectionDelay:Lch/qos/logback/core/util/Duration;
3: aload 0
sipush 128
putfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
4: aload 0
sipush 5000
putfield ch.qos.logback.core.net.AbstractSocketAppender.acceptConnectionTimeout:I
5: aload 0
new ch.qos.logback.core.util.Duration
dup
ldc 100
invokespecial ch.qos.logback.core.util.Duration.<init>:(J)V
putfield ch.qos.logback.core.net.AbstractSocketAppender.eventDelayLimit:Lch/qos/logback/core/util/Duration;
6: aload 0
aload 2
putfield ch.qos.logback.core.net.AbstractSocketAppender.objectWriterFactory:Lch/qos/logback/core/net/ObjectWriterFactory;
7: aload 0
aload 1
putfield ch.qos.logback.core.net.AbstractSocketAppender.queueFactory:Lch/qos/logback/core/net/QueueFactory;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 9 1 queueFactory Lch/qos/logback/core/net/QueueFactory;
0 9 2 objectWriterFactory Lch/qos/logback/core/net/ObjectWriterFactory;
MethodParameters:
Name Flags
queueFactory
objectWriterFactory
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.isStarted:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
ifgt 6
4: iinc 1 1
5: aload 0
new java.lang.StringBuilder
dup
ldc "No port was configured for appender"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " For more information, please visit http://logback.qos.ch/codes.html#socket_no_port"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addError:(Ljava/lang/String;)V
6: StackMap locals: int
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
ifnonnull 11
7: iinc 1 1
8: aload 0
new java.lang.StringBuilder
dup
ldc "No remote host was configured for appender"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc " For more information, please visit http://logback.qos.ch/codes.html#socket_no_host"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addError:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
ifne 13
12: aload 0
ldc "Queue size of zero is deprecated, use a size of one to indicate synchronous processing"
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addWarn:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
ifge 16
14: iinc 1 1
15: aload 0
ldc "Queue size must be greater than zero"
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addError:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
iload 1
ifne 22
17: aload 0
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
putfield ch.qos.logback.core.net.AbstractSocketAppender.address:Ljava/net/InetAddress;
18: goto 22
StackMap locals:
StackMap stack: java.net.UnknownHostException
19: pop
20: aload 0
new java.lang.StringBuilder
dup
ldc "unknown host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addError:(Ljava/lang/String;)V
21: iinc 1 1
22: StackMap locals:
StackMap stack:
iload 1
ifne 28
23: aload 0
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.queueFactory:Lch/qos/logback/core/net/QueueFactory;
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
invokevirtual ch.qos.logback.core.net.QueueFactory.newLinkedBlockingDeque:(I)Ljava/util/concurrent/LinkedBlockingDeque;
putfield ch.qos.logback.core.net.AbstractSocketAppender.deque:Ljava/util/concurrent/BlockingDeque;
24: aload 0
new java.lang.StringBuilder
dup
ldc "remote peer "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
25: aload 0
aload 0
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.address:Ljava/net/InetAddress;
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
iconst_0
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.reconnectionDelay:Lch/qos/logback/core/util/Duration;
invokevirtual ch.qos.logback.core.util.Duration.getMilliseconds:()J
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.createConnector:(Ljava/net/InetAddress;IIJ)Lch/qos/logback/core/net/SocketConnector;
putfield ch.qos.logback.core.net.AbstractSocketAppender.connector:Lch/qos/logback/core/net/SocketConnector;
26: aload 0
aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.getContext:()Lch/qos/logback/core/Context;
invokeinterface ch.qos.logback.core.Context.getExecutorService:()Ljava/util/concurrent/ExecutorService;
new ch.qos.logback.core.net.AbstractSocketAppender$1
dup
aload 0
invokespecial ch.qos.logback.core.net.AbstractSocketAppender$1.<init>:(Lch/qos/logback/core/net/AbstractSocketAppender;)V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
putfield ch.qos.logback.core.net.AbstractSocketAppender.task:Ljava/util/concurrent/Future;
27: aload 0
invokespecial ch.qos.logback.core.AppenderBase.start:()V
28: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
3 29 1 errorCount I
Exception table:
from to target type
17 18 19 Class java.net.UnknownHostException
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.isStarted:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/net/Socket;)V
3: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.task:Ljava/util/concurrent/Future;
iconst_1
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
4: aload 0
invokespecial ch.qos.logback.core.AppenderBase.stop:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
protected void append();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.isStarted:()Z
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.deque:Ljava/util/concurrent/BlockingDeque;
aload 1
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.eventDelayLimit:Lch/qos/logback/core/util/Duration;
invokevirtual ch.qos.logback.core.util.Duration.getMilliseconds:()J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.BlockingDeque.offer:(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
istore 2
start local 2 3: iload 2
ifne 8
4: aload 0
new java.lang.StringBuilder
dup
ldc "Dropping event due to timeout limit of ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.eventDelayLimit:Lch/qos/logback/core/util/Duration;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] being exceeded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
end local 2 5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: astore 2
start local 2 7: aload 0
ldc "Interrupted while appending event to SocketAppender"
aload 2
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 9 1 event TE;
3 5 2 inserted Z
7 8 2 e Ljava/lang/InterruptedException;
Exception table:
from to target type
2 5 6 Class java.lang.InterruptedException
Signature: (TE;)V
MethodParameters:
Name Flags
event
private void connectSocketAndDispatchEvents();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: goto 18
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.createObjectWriterForSocket:()Lch/qos/logback/core/net/ObjectWriter;
astore 1
start local 1 2: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection established"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
3: aload 0
aload 1
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.dispatchEvents:(Lch/qos/logback/core/net/ObjectWriter;)V
end local 1 4: goto 15
StackMap locals:
StackMap stack: java.io.IOException
5: astore 1
start local 1 6: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection failed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
end local 1 7: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/net/Socket;)V
8: aload 0
aconst_null
putfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
9: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection closed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
goto 18
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
11: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/net/Socket;)V
12: aload 0
aconst_null
putfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
13: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection closed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
14: aload 2
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/net/Socket;)V
16: aload 0
aconst_null
putfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
17: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection closed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.socketConnectionCouldBeEstablished:()Z
ifne 1
19: goto 21
StackMap locals:
StackMap stack: java.lang.InterruptedException
20: pop
21: StackMap locals:
StackMap stack:
aload 0
ldc "shutting down"
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
22: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
2 4 1 objectWriter Lch/qos/logback/core/net/ObjectWriter;
6 7 1 ex Ljava/io/IOException;
Exception table:
from to target type
1 4 5 Class java.io.IOException
1 7 10 any
0 19 20 Class java.lang.InterruptedException
private boolean socketConnectionCouldBeEstablished();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.connector:Lch/qos/logback/core/net/SocketConnector;
invokeinterface ch.qos.logback.core.net.SocketConnector.call:()Ljava/net/Socket;
dup_x1
putfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
Exceptions:
throws java.lang.InterruptedException
private ch.qos.logback.core.net.ObjectWriter createObjectWriterForSocket();
descriptor: ()Lch/qos/logback/core/net/ObjectWriter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.acceptConnectionTimeout:I
invokevirtual java.net.Socket.setSoTimeout:(I)V
1: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.objectWriterFactory:Lch/qos/logback/core/net/ObjectWriterFactory;
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
invokevirtual ch.qos.logback.core.net.ObjectWriterFactory.newAutoFlushingObjectWriter:(Ljava/io/OutputStream;)Lch/qos/logback/core/net/AutoFlushingObjectWriter;
astore 1
start local 1 2: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.socket:Ljava/net/Socket;
iconst_0
invokevirtual java.net.Socket.setSoTimeout:(I)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
2 4 1 objectWriter Lch/qos/logback/core/net/ObjectWriter;
Exceptions:
throws java.io.IOException
private ch.qos.logback.core.net.SocketConnector createConnector(java.net.InetAddress, int, int, long);
descriptor: (Ljava/net/InetAddress;IIJ)Lch/qos/logback/core/net/SocketConnector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
i2l
lload 4
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.newConnector:(Ljava/net/InetAddress;IJJ)Lch/qos/logback/core/net/SocketConnector;
astore 6
start local 6 1: aload 6
aload 0
invokeinterface ch.qos.logback.core.net.SocketConnector.setExceptionHandler:(Lch/qos/logback/core/net/SocketConnector$ExceptionHandler;)V
2: aload 6
aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.getSocketFactory:()Ljavax/net/SocketFactory;
invokeinterface ch.qos.logback.core.net.SocketConnector.setSocketFactory:(Ljavax/net/SocketFactory;)V
3: aload 6
areturn
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 4 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 4 1 address Ljava/net/InetAddress;
0 4 2 port I
0 4 3 initialDelay I
0 4 4 retryDelay J
1 4 6 connector Lch/qos/logback/core/net/SocketConnector;
MethodParameters:
Name Flags
address
port
initialDelay
retryDelay
private void dispatchEvents(ch.qos.logback.core.net.ObjectWriter);
descriptor: (Lch/qos/logback/core/net/ObjectWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.deque:Ljava/util/concurrent/BlockingDeque;
invokeinterface java.util.concurrent.BlockingDeque.takeFirst:()Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.postProcessEvent:(Ljava/lang/Object;)V
2: aload 0
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.getPST:()Lch/qos/logback/core/spi/PreSerializationTransformer;
aload 2
invokeinterface ch.qos.logback.core.spi.PreSerializationTransformer.transform:(Ljava/lang/Object;)Ljava/io/Serializable;
astore 3
start local 3 3: aload 1
aload 3
invokeinterface ch.qos.logback.core.net.ObjectWriter.write:(Ljava/lang/Object;)V
4: goto 0
StackMap locals: ch.qos.logback.core.net.AbstractSocketAppender ch.qos.logback.core.net.ObjectWriter java.lang.Object java.io.Serializable
StackMap stack: java.io.IOException
5: astore 4
start local 4 6: aload 0
aload 2
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.tryReAddingEventToFrontOfQueue:(Ljava/lang/Object;)V
7: aload 4
athrow
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/core/net/AbstractSocketAppender<TE;>;
0 8 1 objectWriter Lch/qos/logback/core/net/ObjectWriter;
1 8 2 event TE;
3 8 3 serializableEvent Ljava/io/Serializable;
6 8 4 e Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
Exceptions:
throws java.lang.InterruptedException, java.io.IOException
MethodParameters:
Name Flags
objectWriter
private void tryReAddingEventToFrontOfQueue();
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.deque:Ljava/util/concurrent/BlockingDeque;
aload 1
invokeinterface java.util.concurrent.BlockingDeque.offerFirst:(Ljava/lang/Object;)Z
istore 2
start local 2 1: iload 2
ifne 3
2: aload 0
ldc "Dropping event due to socket connection error and maxed out deque capacity"
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
3: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 4 1 event TE;
1 4 2 wasInserted Z
Signature: (TE;)V
MethodParameters:
Name Flags
event
public void connectionFailed(ch.qos.logback.core.net.SocketConnector, java.lang.Exception);
descriptor: (Lch/qos/logback/core/net/SocketConnector;Ljava/lang/Exception;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.lang.InterruptedException
ifeq 3
1: aload 0
ldc "connector interrupted"
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
2: goto 7
StackMap locals:
StackMap stack:
3: aload 2
instanceof java.net.ConnectException
ifeq 6
4: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "connection refused"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.peerId:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.net.AbstractSocketAppender.addInfo:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 8 1 connector Lch/qos/logback/core/net/SocketConnector;
0 8 2 ex Ljava/lang/Exception;
MethodParameters:
Name Flags
connector
ex
protected ch.qos.logback.core.net.SocketConnector newConnector(java.net.InetAddress, int, long, long);
descriptor: (Ljava/net/InetAddress;IJJ)Lch/qos/logback/core/net/SocketConnector;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: new ch.qos.logback.core.net.DefaultSocketConnector
dup
aload 1
iload 2
lload 3
lload 5
invokespecial ch.qos.logback.core.net.DefaultSocketConnector.<init>:(Ljava/net/InetAddress;IJJ)V
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 1 1 address Ljava/net/InetAddress;
0 1 2 port I
0 1 3 initialDelay J
0 1 5 retryDelay J
MethodParameters:
Name Flags
address
port
initialDelay
retryDelay
protected javax.net.SocketFactory getSocketFactory();
descriptor: ()Ljavax/net/SocketFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic javax.net.SocketFactory.getDefault:()Ljavax/net/SocketFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
protected abstract void postProcessEvent();
descriptor: (Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TE;)V
MethodParameters:
Name Flags
event
protected abstract ch.qos.logback.core.spi.PreSerializationTransformer<E> getPST();
descriptor: ()Lch/qos/logback/core/spi/PreSerializationTransformer;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()Lch/qos/logback/core/spi/PreSerializationTransformer<TE;>;
public void setRemoteHost(java.lang.String);
descriptor: (Ljava/lang/String;)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.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 host Ljava/lang/String;
MethodParameters:
Name Flags
host
public java.lang.String getRemoteHost();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.remoteHost:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
public void setPort(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 port I
MethodParameters:
Name Flags
port
public int getPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.port:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
public void setReconnectionDelay(ch.qos.logback.core.util.Duration);
descriptor: (Lch/qos/logback/core/util/Duration;)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.core.net.AbstractSocketAppender.reconnectionDelay:Lch/qos/logback/core/util/Duration;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 delay Lch/qos/logback/core/util/Duration;
MethodParameters:
Name Flags
delay
public ch.qos.logback.core.util.Duration getReconnectionDelay();
descriptor: ()Lch/qos/logback/core/util/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.reconnectionDelay:Lch/qos/logback/core/util/Duration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
public void setQueueSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 queueSize I
MethodParameters:
Name Flags
queueSize
public int getQueueSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.queueSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
public void setEventDelayLimit(ch.qos.logback.core.util.Duration);
descriptor: (Lch/qos/logback/core/util/Duration;)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.core.net.AbstractSocketAppender.eventDelayLimit:Lch/qos/logback/core/util/Duration;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 eventDelayLimit Lch/qos/logback/core/util/Duration;
MethodParameters:
Name Flags
eventDelayLimit
public ch.qos.logback.core.util.Duration getEventDelayLimit();
descriptor: ()Lch/qos/logback/core/util/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.net.AbstractSocketAppender.eventDelayLimit:Lch/qos/logback/core/util/Duration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
void setAcceptConnectionTimeout(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield ch.qos.logback.core.net.AbstractSocketAppender.acceptConnectionTimeout:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/net/AbstractSocketAppender<TE;>;
0 2 1 acceptConnectionTimeout I
MethodParameters:
Name Flags
acceptConnectionTimeout
}
Signature: <E:Ljava/lang/Object;>Lch/qos/logback/core/AppenderBase<TE;>;Lch/qos/logback/core/net/SocketConnector$ExceptionHandler;
SourceFile: "AbstractSocketAppender.java"
NestMembers:
ch.qos.logback.core.net.AbstractSocketAppender$1
InnerClasses:
ch.qos.logback.core.net.AbstractSocketAppender$1
public abstract ExceptionHandler = ch.qos.logback.core.net.SocketConnector$ExceptionHandler of ch.qos.logback.core.net.SocketConnector