public class org.apache.logging.log4j.core.appender.WriterManager extends org.apache.logging.log4j.core.appender.AbstractManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.appender.WriterManager
  super_class: org.apache.logging.log4j.core.appender.AbstractManager
{
  protected final org.apache.logging.log4j.core.StringLayout layout;
    descriptor: Lorg/apache/logging/log4j/core/StringLayout;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private volatile java.io.Writer writer;
    descriptor: Ljava/io/Writer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public static <T> org.apache.logging.log4j.core.appender.WriterManager getManager(java.lang.String, T, org.apache.logging.log4j.core.appender.ManagerFactory<? extends org.apache.logging.log4j.core.appender.WriterManager, T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/apache/logging/log4j/core/appender/ManagerFactory;)Lorg/apache/logging/log4j/core/appender/WriterManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Object data
        start local 2 // org.apache.logging.log4j.core.appender.ManagerFactory factory
         0: .line 42
            aload 0 /* name */
            aload 2 /* factory */
            aload 1 /* data */
            invokestatic org.apache.logging.log4j.core.appender.AbstractManager.getManager:(Ljava/lang/String;Lorg/apache/logging/log4j/core/appender/ManagerFactory;Ljava/lang/Object;)Lorg/apache/logging/log4j/core/appender/AbstractManager;
            checkcast org.apache.logging.log4j.core.appender.WriterManager
            areturn
        end local 2 // org.apache.logging.log4j.core.appender.ManagerFactory factory
        end local 1 // java.lang.Object data
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     name  Ljava/lang/String;
            0    1     1     data  TT;
            0    1     2  factory  Lorg/apache/logging/log4j/core/appender/ManagerFactory<+Lorg/apache/logging/log4j/core/appender/WriterManager;TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;TT;Lorg/apache/logging/log4j/core/appender/ManagerFactory<+Lorg/apache/logging/log4j/core/appender/WriterManager;TT;>;)Lorg/apache/logging/log4j/core/appender/WriterManager;
    MethodParameters:
         Name  Flags
      name     final
      data     final
      factory  final

  public void <init>(java.io.Writer, java.lang.String, org.apache.logging.log4j.core.StringLayout, boolean);
    descriptor: (Ljava/io/Writer;Ljava/lang/String;Lorg/apache/logging/log4j/core/StringLayout;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
        start local 1 // java.io.Writer writer
        start local 2 // java.lang.String streamName
        start local 3 // org.apache.logging.log4j.core.StringLayout layout
        start local 4 // boolean writeHeader
         0: .line 50
            aload 0 /* this */
            aconst_null
            aload 2 /* streamName */
            invokespecial org.apache.logging.log4j.core.appender.AbstractManager.<init>:(Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;)V
         1: .line 51
            aload 0 /* this */
            aload 1 /* writer */
            putfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
         2: .line 52
            aload 0 /* this */
            aload 3 /* layout */
            putfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
         3: .line 53
            iload 4 /* writeHeader */
            ifeq 10
            aload 3 /* layout */
            ifnull 10
         4: .line 54
            aload 3 /* layout */
            invokeinterface org.apache.logging.log4j.core.StringLayout.getHeader:()[B
            astore 5 /* header */
        start local 5 // byte[] header
         5: .line 55
            aload 5 /* header */
            ifnull 10
         6: .line 57
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
            new java.lang.String
            dup
            aload 5 /* header */
            aload 3 /* layout */
            invokeinterface org.apache.logging.log4j.core.StringLayout.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         7: .line 58
            goto 10
      StackMap locals: org.apache.logging.log4j.core.appender.WriterManager java.io.Writer java.lang.String org.apache.logging.log4j.core.StringLayout int byte[]
      StackMap stack: java.io.IOException
         8: astore 6 /* e */
        start local 6 // java.io.IOException e
         9: .line 59
            aload 0 /* this */
            ldc "Unable to write header"
            aload 6 /* e */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        end local 5 // byte[] header
        10: .line 63
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean writeHeader
        end local 3 // org.apache.logging.log4j.core.StringLayout layout
        end local 2 // java.lang.String streamName
        end local 1 // java.io.Writer writer
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            0   11     1       writer  Ljava/io/Writer;
            0   11     2   streamName  Ljava/lang/String;
            0   11     3       layout  Lorg/apache/logging/log4j/core/StringLayout;
            0   11     4  writeHeader  Z
            5   10     5       header  [B
            9   10     6            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException
    MethodParameters:
             Name  Flags
      writer       final
      streamName   final
      layout       final
      writeHeader  final

  protected synchronized void closeWriter();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
         0: .line 66
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
            astore 1 /* w */
        start local 1 // java.io.Writer w
         1: .line 68
            aload 1 /* w */
            invokevirtual java.io.Writer.close:()V
         2: .line 69
            goto 5
      StackMap locals: org.apache.logging.log4j.core.appender.WriterManager java.io.Writer
      StackMap stack: java.io.IOException
         3: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         4: .line 70
            aload 0 /* this */
            ldc "Unable to close stream"
            aload 2 /* ex */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException ex
         5: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.Writer w
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            1    6     1     w  Ljava/io/Writer;
            4    5     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  public synchronized void flush();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
         0: .line 79
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
            invokevirtual java.io.Writer.flush:()V
         1: .line 80
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* ex */
        start local 1 // java.io.IOException ex
         3: .line 81
            new java.lang.StringBuilder
            dup
            ldc "Error flushing stream "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         4: .line 82
            new org.apache.logging.log4j.core.appender.AppenderLoggingException
            dup
            aload 2 /* msg */
            aload 1 /* ex */
            invokespecial org.apache.logging.log4j.core.appender.AppenderLoggingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.String msg
        end local 1 // java.io.IOException ex
         5: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            3    5     1    ex  Ljava/io/IOException;
            4    5     2   msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  protected java.io.Writer getWriter();
    descriptor: ()Ljava/io/Writer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
         0: .line 87
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
            areturn
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/WriterManager;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
         0: .line 95
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.getCount:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/appender/WriterManager;

  public boolean releaseSub(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 103
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.writeFooter:()V
         1: .line 104
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.closeWriter:()V
         2: .line 105
            iconst_1
            ireturn
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long timeout
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            0    3     1   timeout  J
            0    3     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
          Name  Flags
      timeout   final
      timeUnit  final

  protected void setWriter(java.io.Writer);
    descriptor: (Ljava/io/Writer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
        start local 1 // java.io.Writer writer
         0: .line 109
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
            invokeinterface org.apache.logging.log4j.core.StringLayout.getHeader:()[B
            astore 2 /* header */
        start local 2 // byte[] header
         1: .line 110
            aload 2 /* header */
            ifnull 8
         2: .line 112
            aload 1 /* writer */
            new java.lang.String
            dup
            aload 2 /* header */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
            invokeinterface org.apache.logging.log4j.core.StringLayout.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         3: .line 113
            aload 0 /* this */
            aload 1 /* writer */
            putfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
         4: .line 114
            goto 9
      StackMap locals: org.apache.logging.log4j.core.appender.WriterManager java.io.Writer byte[]
      StackMap stack: java.io.IOException
         5: astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
         6: .line 115
            aload 0 /* this */
            ldc "Unable to write header"
            aload 3 /* ioe */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.io.IOException ioe
         7: .line 117
            goto 9
         8: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            putfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
         9: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] header
        end local 1 // java.io.Writer writer
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            0   10     1  writer  Ljava/io/Writer;
            1   10     2  header  [B
            6    7     3     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
    MethodParameters:
        Name  Flags
      writer  final

  protected synchronized void write(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
        start local 1 // java.lang.String str
         0: .line 130
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.writer:Ljava/io/Writer;
            aload 1 /* str */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         1: .line 131
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         3: .line 132
            new java.lang.StringBuilder
            dup
            ldc "Error writing to stream "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         4: .line 133
            new org.apache.logging.log4j.core.appender.AppenderLoggingException
            dup
            aload 3 /* msg */
            aload 2 /* ex */
            invokespecial org.apache.logging.log4j.core.appender.AppenderLoggingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.String msg
        end local 2 // java.io.IOException ex
         5: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String str
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            0    6     1   str  Ljava/lang/String;
            3    5     2    ex  Ljava/io/IOException;
            4    5     3   msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      str   final

  protected void writeFooter();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.WriterManager this
         0: .line 141
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
            ifnonnull 2
         1: .line 142
            return
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
            invokeinterface org.apache.logging.log4j.core.StringLayout.getFooter:()[B
            astore 1 /* footer */
        start local 1 // byte[] footer
         3: .line 145
            aload 1 /* footer */
            ifnull 5
            aload 1 /* footer */
            arraylength
            ifle 5
         4: .line 146
            aload 0 /* this */
            new java.lang.String
            dup
            aload 1 /* footer */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.WriterManager.layout:Lorg/apache/logging/log4j/core/StringLayout;
            invokeinterface org.apache.logging.log4j.core.StringLayout.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokevirtual org.apache.logging.log4j.core.appender.WriterManager.write:(Ljava/lang/String;)V
         5: .line 148
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 1 // byte[] footer
        end local 0 // org.apache.logging.log4j.core.appender.WriterManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/logging/log4j/core/appender/WriterManager;
            3    6     1  footer  [B
}
SourceFile: "WriterManager.java"