public class ch.qos.logback.core.ConsoleAppender<E> extends ch.qos.logback.core.OutputStreamAppender<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.core.ConsoleAppender
  super_class: ch.qos.logback.core.OutputStreamAppender
{
  protected ch.qos.logback.core.joran.spi.ConsoleTarget target;
    descriptor: Lch/qos/logback/core/joran/spi/ConsoleTarget;
    flags: (0x0004) ACC_PROTECTED

  protected boolean withJansi;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private static final java.lang.String WindowsAnsiOutputStream_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.fusesource.jansi.WindowsAnsiOutputStream"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.ConsoleAppender this
         0: .line 38
            aload 0 /* this */
            invokespecial ch.qos.logback.core.OutputStreamAppender.<init>:()V
         1: .line 40
            aload 0 /* this */
            getstatic ch.qos.logback.core.joran.spi.ConsoleTarget.SystemOut:Lch/qos/logback/core/joran/spi/ConsoleTarget;
            putfield ch.qos.logback.core.ConsoleAppender.target:Lch/qos/logback/core/joran/spi/ConsoleTarget;
         2: .line 41
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.ConsoleAppender.withJansi:Z
         3: .line 38
            return
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lch/qos/logback/core/ConsoleAppender<TE;>;

  public void setTarget(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.ConsoleAppender this
        start local 1 // java.lang.String value
         0: .line 50
            aload 1 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic ch.qos.logback.core.joran.spi.ConsoleTarget.findByName:(Ljava/lang/String;)Lch/qos/logback/core/joran/spi/ConsoleTarget;
            astore 2 /* t */
        start local 2 // ch.qos.logback.core.joran.spi.ConsoleTarget t
         1: .line 51
            aload 2 /* t */
            ifnonnull 4
         2: .line 52
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual ch.qos.logback.core.ConsoleAppender.targetWarn:(Ljava/lang/String;)V
         3: .line 53
            goto 5
         4: .line 54
      StackMap locals: ch.qos.logback.core.joran.spi.ConsoleTarget
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            putfield ch.qos.logback.core.ConsoleAppender.target:Lch/qos/logback/core/joran/spi/ConsoleTarget;
         5: .line 56
      StackMap locals:
      StackMap stack:
            return
        end local 2 // ch.qos.logback.core.joran.spi.ConsoleTarget t
        end local 1 // java.lang.String value
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lch/qos/logback/core/ConsoleAppender<TE;>;
            0    6     1  value  Ljava/lang/String;
            1    6     2      t  Lch/qos/logback/core/joran/spi/ConsoleTarget;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String getTarget();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.ConsoleAppender this
         0: .line 65
            aload 0 /* this */
            getfield ch.qos.logback.core.ConsoleAppender.target:Lch/qos/logback/core/joran/spi/ConsoleTarget;
            invokevirtual ch.qos.logback.core.joran.spi.ConsoleTarget.getName:()Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/ConsoleAppender<TE;>;

  private void targetWarn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.ConsoleAppender this
        start local 1 // java.lang.String val
         0: .line 69
            new ch.qos.logback.core.status.WarnStatus
            dup
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* val */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] should be one of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic ch.qos.logback.core.joran.spi.ConsoleTarget.values:()[Lch/qos/logback/core/joran/spi/ConsoleTarget;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokespecial ch.qos.logback.core.status.WarnStatus.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 2 /* status */
        start local 2 // ch.qos.logback.core.status.Status status
         1: .line 70
            aload 2 /* status */
            new ch.qos.logback.core.status.WarnStatus
            dup
            ldc "Using previously set target, System.out by default."
            aload 0 /* this */
            invokespecial ch.qos.logback.core.status.WarnStatus.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokeinterface ch.qos.logback.core.status.Status.add:(Lch/qos/logback/core/status/Status;)V
         2: .line 71
            aload 0 /* this */
            aload 2 /* status */
            invokevirtual ch.qos.logback.core.ConsoleAppender.addStatus:(Lch/qos/logback/core/status/Status;)V
         3: .line 72
            return
        end local 2 // ch.qos.logback.core.status.Status status
        end local 1 // java.lang.String val
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lch/qos/logback/core/ConsoleAppender<TE;>;
            0    4     1     val  Ljava/lang/String;
            1    4     2  status  Lch/qos/logback/core/status/Status;
    MethodParameters:
      Name  Flags
      val   

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.ConsoleAppender this
         0: .line 76
            aload 0 /* this */
            getfield ch.qos.logback.core.ConsoleAppender.target:Lch/qos/logback/core/joran/spi/ConsoleTarget;
            invokevirtual ch.qos.logback.core.joran.spi.ConsoleTarget.getStream:()Ljava/io/OutputStream;
            astore 1 /* targetStream */
        start local 1 // java.io.OutputStream targetStream
         1: .line 78
            invokestatic ch.qos.logback.core.util.EnvUtil.isWindows:()Z
            ifeq 3
            aload 0 /* this */
            getfield ch.qos.logback.core.ConsoleAppender.withJansi:Z
            ifeq 3
         2: .line 79
            aload 0 /* this */
            aload 1 /* targetStream */
            invokevirtual ch.qos.logback.core.ConsoleAppender.getTargetStreamForWindows:(Ljava/io/OutputStream;)Ljava/io/OutputStream;
            astore 1 /* targetStream */
         3: .line 81
      StackMap locals: java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            aload 1 /* targetStream */
            invokevirtual ch.qos.logback.core.ConsoleAppender.setOutputStream:(Ljava/io/OutputStream;)V
         4: .line 82
            aload 0 /* this */
            invokespecial ch.qos.logback.core.OutputStreamAppender.start:()V
         5: .line 83
            return
        end local 1 // java.io.OutputStream targetStream
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lch/qos/logback/core/ConsoleAppender<TE;>;
            1    6     1  targetStream  Ljava/io/OutputStream;

  private java.io.OutputStream getTargetStreamForWindows(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.ConsoleAppender this
        start local 1 // java.io.OutputStream targetStream
         0: .line 87
            aload 0 /* this */
            ldc "Enabling JANSI WindowsAnsiOutputStream for the console."
            invokevirtual ch.qos.logback.core.ConsoleAppender.addInfo:(Ljava/lang/String;)V
         1: .line 88
            ldc "org.fusesource.jansi.WindowsAnsiOutputStream"
            ldc Ljava/lang/Object;
            aload 0 /* this */
            getfield ch.qos.logback.core.ConsoleAppender.context:Lch/qos/logback/core/Context;
         2: .line 89
            ldc Ljava/io/OutputStream;
            aload 1 /* targetStream */
         3: .line 88
            invokestatic ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter:(Ljava/lang/String;Ljava/lang/Class;Lch/qos/logback/core/Context;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* windowsAnsiOutputStream */
        start local 2 // java.lang.Object windowsAnsiOutputStream
         4: .line 90
            aload 2 /* windowsAnsiOutputStream */
            checkcast java.io.OutputStream
         5: areturn
        end local 2 // java.lang.Object windowsAnsiOutputStream
         6: .line 91
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         7: .line 92
            aload 0 /* this */
            ldc "Failed to create WindowsAnsiOutputStream. Falling back on the default stream."
            aload 2 /* e */
            invokevirtual ch.qos.logback.core.ConsoleAppender.addWarn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
         8: .line 94
            aload 1 /* targetStream */
            areturn
        end local 1 // java.io.OutputStream targetStream
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    9     0                     this  Lch/qos/logback/core/ConsoleAppender<TE;>;
            0    9     1             targetStream  Ljava/io/OutputStream;
            4    6     2  windowsAnsiOutputStream  Ljava/lang/Object;
            7    8     2                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      targetStream  

  public boolean isWithJansi();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.ConsoleAppender this
         0: .line 101
            aload 0 /* this */
            getfield ch.qos.logback.core.ConsoleAppender.withJansi:Z
            ireturn
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/ConsoleAppender<TE;>;

  public void setWithJansi(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.ConsoleAppender this
        start local 1 // boolean withJansi
         0: .line 111
            aload 0 /* this */
            iload 1 /* withJansi */
            putfield ch.qos.logback.core.ConsoleAppender.withJansi:Z
         1: .line 112
            return
        end local 1 // boolean withJansi
        end local 0 // ch.qos.logback.core.ConsoleAppender this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lch/qos/logback/core/ConsoleAppender<TE;>;
            0    2     1  withJansi  Z
    MethodParameters:
           Name  Flags
      withJansi  
}
Signature: <E:Ljava/lang/Object;>Lch/qos/logback/core/OutputStreamAppender<TE;>;
SourceFile: "ConsoleAppender.java"