public abstract class ch.qos.logback.core.UnsynchronizedAppenderBase<E> extends ch.qos.logback.core.spi.ContextAwareBase implements ch.qos.logback.core.Appender<E>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: ch.qos.logback.core.UnsynchronizedAppenderBase
super_class: ch.qos.logback.core.spi.ContextAwareBase
{
protected boolean started;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private java.lang.ThreadLocal<java.lang.Boolean> guard;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
protected java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
private ch.qos.logback.core.spi.FilterAttachableImpl<E> fai;
descriptor: Lch/qos/logback/core/spi/FilterAttachableImpl;
flags: (0x0002) ACC_PRIVATE
Signature: Lch/qos/logback/core/spi/FilterAttachableImpl<TE;>;
private int statusRepeatCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int exceptionCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final int ALLOWED_REPEATS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
1: aload 0
iconst_0
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.started:Z
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
3: aload 0
new ch.qos.logback.core.spi.FilterAttachableImpl
dup
invokespecial ch.qos.logback.core.spi.FilterAttachableImpl.<init>:()V
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.fai:Lch/qos/logback/core/spi/FilterAttachableImpl;
4: aload 0
iconst_0
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.statusRepeatCount:I
5: aload 0
iconst_0
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.exceptionCount:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public java.lang.String getName();
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.UnsynchronizedAppenderBase.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public void doAppend();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
3: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.started:Z
ifne 8
4: aload 0
dup
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.statusRepeatCount:I
dup_x1
iconst_1
iadd
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.statusRepeatCount:I
iconst_3
if_icmpge 6
5: aload 0
new ch.qos.logback.core.status.WarnStatus
dup
new java.lang.StringBuilder
dup
ldc "Attempted to append to non started appender ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.name: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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
invokespecial ch.qos.logback.core.status.WarnStatus.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual ch.qos.logback.core.UnsynchronizedAppenderBase.addStatus:(Lch/qos/logback/core/status/Status;)V
6: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
7: return
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual ch.qos.logback.core.UnsynchronizedAppenderBase.getFilterChainDecision:(Ljava/lang/Object;)Lch/qos/logback/core/spi/FilterReply;
getstatic ch.qos.logback.core.spi.FilterReply.DENY:Lch/qos/logback/core/spi/FilterReply;
if_acmpne 11
9: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
10: return
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual ch.qos.logback.core.UnsynchronizedAppenderBase.append:(Ljava/lang/Object;)V
12: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
13: astore 2
start local 2 14: aload 0
dup
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.exceptionCount:I
dup_x1
iconst_1
iadd
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.exceptionCount:I
iconst_3
if_icmpge 16
15: aload 0
new java.lang.StringBuilder
dup
ldc "Appender ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] failed to append."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual ch.qos.logback.core.UnsynchronizedAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 16: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
goto 21
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
18: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
19: aload 3
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.guard:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
0 22 1 eventObject TE;
14 16 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 6 13 Class java.lang.Exception
8 9 13 Class java.lang.Exception
11 12 13 Class java.lang.Exception
2 6 17 any
8 9 17 any
11 16 17 any
Signature: (TE;)V
MethodParameters:
Name Flags
eventObject
protected abstract void append();
descriptor: (Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TE;)V
MethodParameters:
Name Flags
eventObject
public void setName(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.UnsynchronizedAppenderBase.name: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/UnsynchronizedAppenderBase<TE;>;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.started:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield ch.qos.logback.core.UnsynchronizedAppenderBase.started:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public boolean isStarted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.started:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.name: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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public void addFilter(ch.qos.logback.core.filter.Filter<E>);
descriptor: (Lch/qos/logback/core/filter/Filter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.fai:Lch/qos/logback/core/spi/FilterAttachableImpl;
aload 1
invokevirtual ch.qos.logback.core.spi.FilterAttachableImpl.addFilter:(Lch/qos/logback/core/filter/Filter;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
0 2 1 newFilter Lch/qos/logback/core/filter/Filter<TE;>;
Signature: (Lch/qos/logback/core/filter/Filter<TE;>;)V
MethodParameters:
Name Flags
newFilter
public void clearAllFilters();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.fai:Lch/qos/logback/core/spi/FilterAttachableImpl;
invokevirtual ch.qos.logback.core.spi.FilterAttachableImpl.clearAllFilters:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
public java.util.List<ch.qos.logback.core.filter.Filter<E>> getCopyOfAttachedFiltersList();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.fai:Lch/qos/logback/core/spi/FilterAttachableImpl;
invokevirtual ch.qos.logback.core.spi.FilterAttachableImpl.getCopyOfAttachedFiltersList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
Signature: ()Ljava/util/List<Lch/qos/logback/core/filter/Filter<TE;>;>;
public ch.qos.logback.core.spi.FilterReply getFilterChainDecision(E);
descriptor: (Ljava/lang/Object;)Lch/qos/logback/core/spi/FilterReply;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield ch.qos.logback.core.UnsynchronizedAppenderBase.fai:Lch/qos/logback/core/spi/FilterAttachableImpl;
aload 1
invokevirtual ch.qos.logback.core.spi.FilterAttachableImpl.getFilterChainDecision:(Ljava/lang/Object;)Lch/qos/logback/core/spi/FilterReply;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
0 1 1 event TE;
Signature: (TE;)Lch/qos/logback/core/spi/FilterReply;
MethodParameters:
Name Flags
event
}
Signature: <E:Ljava/lang/Object;>Lch/qos/logback/core/spi/ContextAwareBase;Lch/qos/logback/core/Appender<TE;>;
SourceFile: "UnsynchronizedAppenderBase.java"