public class org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager extends org.apache.logging.log4j.core.appender.rolling.RollingFileManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager
  super_class: org.apache.logging.log4j.core.appender.rolling.RollingFileManager
{
  public static final int DEFAULT_BUFFER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 262144

  private static final org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory FACTORY;
    descriptor: Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.io.RandomAccessFile randomAccessFile;
    descriptor: Ljava/io/RandomAccessFile;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.ThreadLocal<java.lang.Boolean> isEndOfBatch;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            new org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory
            dup
            invokespecial org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory.<init>:()V
            putstatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.FACTORY:Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.logging.log4j.core.LoggerContext, java.io.RandomAccessFile, java.lang.String, java.lang.String, java.io.OutputStream, boolean, boolean, int, long, long, org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, java.lang.String, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, );
    descriptor: (Lorg/apache/logging/log4j/core/LoggerContext;Ljava/io/RandomAccessFile;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZIJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=21, locals=18, args_size=16
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // org.apache.logging.log4j.core.LoggerContext loggerContext
        start local 2 // java.io.RandomAccessFile raf
        start local 3 // java.lang.String fileName
        start local 4 // java.lang.String pattern
        start local 5 // java.io.OutputStream os
        start local 6 // boolean append
        start local 7 // boolean immediateFlush
        start local 8 // int bufferSize
        start local 9 // long size
        start local 11 // long time
        start local 13 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        start local 14 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        start local 15 // java.lang.String advertiseURI
        start local 16 // org.apache.logging.log4j.core.Layout layout
        start local 17 // boolean writeHeader
         0: .line 56
            aload 0 /* this */
            aload 1 /* loggerContext */
            aload 2 /* raf */
            aload 3 /* fileName */
            aload 4 /* pattern */
            aload 5 /* os */
            iload 6 /* append */
            iload 7 /* immediateFlush */
            iload 8 /* bufferSize */
            lload 9 /* size */
            lload 11 /* time */
            aload 13 /* policy */
            aload 14 /* strategy */
            aload 15 /* advertiseURI */
         1: .line 57
            aload 16 /* layout */
            aconst_null
            aconst_null
            aconst_null
            iload 17 /* writeHeader */
            invokespecial org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.<init>:(Lorg/apache/logging/log4j/core/LoggerContext;Ljava/io/RandomAccessFile;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZIJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         2: .line 58
            return
        end local 17 // boolean writeHeader
        end local 16 // org.apache.logging.log4j.core.Layout layout
        end local 15 // java.lang.String advertiseURI
        end local 14 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        end local 13 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        end local 11 // long time
        end local 9 // long size
        end local 8 // int bufferSize
        end local 7 // boolean immediateFlush
        end local 6 // boolean append
        end local 5 // java.io.OutputStream os
        end local 4 // java.lang.String pattern
        end local 3 // java.lang.String fileName
        end local 2 // java.io.RandomAccessFile raf
        end local 1 // org.apache.logging.log4j.core.LoggerContext loggerContext
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    3     1   loggerContext  Lorg/apache/logging/log4j/core/LoggerContext;
            0    3     2             raf  Ljava/io/RandomAccessFile;
            0    3     3        fileName  Ljava/lang/String;
            0    3     4         pattern  Ljava/lang/String;
            0    3     5              os  Ljava/io/OutputStream;
            0    3     6          append  Z
            0    3     7  immediateFlush  Z
            0    3     8      bufferSize  I
            0    3     9            size  J
            0    3    11            time  J
            0    3    13          policy  Lorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;
            0    3    14        strategy  Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;
            0    3    15    advertiseURI  Ljava/lang/String;
            0    3    16          layout  Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;
            0    3    17     writeHeader  Z
    Signature: (Lorg/apache/logging/log4j/core/LoggerContext;Ljava/io/RandomAccessFile;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZIJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;Z)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      loggerContext   final
      raf             final
      fileName        final
      pattern         final
      os              final
      append          final
      immediateFlush  final
      bufferSize      final
      size            final
      time            final
      policy          final
      strategy        final
      advertiseURI    final
      layout          final
      writeHeader     final

  public void <init>(org.apache.logging.log4j.core.LoggerContext, java.io.RandomAccessFile, java.lang.String, java.lang.String, java.io.OutputStream, boolean, boolean, int, long, long, org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, java.lang.String, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, java.lang.String, java.lang.String, java.lang.String, );
    descriptor: (Lorg/apache/logging/log4j/core/LoggerContext;Ljava/io/RandomAccessFile;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZIJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=20, locals=21, args_size=19
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // org.apache.logging.log4j.core.LoggerContext loggerContext
        start local 2 // java.io.RandomAccessFile raf
        start local 3 // java.lang.String fileName
        start local 4 // java.lang.String pattern
        start local 5 // java.io.OutputStream os
        start local 6 // boolean append
        start local 7 // boolean immediateFlush
        start local 8 // int bufferSize
        start local 9 // long size
        start local 11 // long initialTime
        start local 13 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        start local 14 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        start local 15 // java.lang.String advertiseURI
        start local 16 // org.apache.logging.log4j.core.Layout layout
        start local 17 // java.lang.String filePermissions
        start local 18 // java.lang.String fileOwner
        start local 19 // java.lang.String fileGroup
        start local 20 // boolean writeHeader
         0: .line 70
            aload 0 /* this */
            aload 1 /* loggerContext */
            aload 3 /* fileName */
            aload 4 /* pattern */
            aload 5 /* os */
            iload 6 /* append */
            iconst_0
            lload 9 /* size */
            lload 11 /* initialTime */
            aload 13 /* policy */
            aload 14 /* strategy */
            aload 15 /* advertiseURI */
         1: .line 71
            aload 16 /* layout */
            aload 17 /* filePermissions */
            aload 18 /* fileOwner */
            aload 19 /* fileGroup */
            iload 20 /* writeHeader */
            iload 8 /* bufferSize */
            newarray 8
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokespecial org.apache.logging.log4j.core.appender.rolling.RollingFileManager.<init>:(Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/nio/ByteBuffer;)V
         2: .line 48
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.isEndOfBatch:Ljava/lang/ThreadLocal;
         3: .line 72
            aload 0 /* this */
            aload 2 /* raf */
            putfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
         4: .line 73
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.isEndOfBatch:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         5: .line 74
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeHeader:()V
         6: .line 75
            return
        end local 20 // boolean writeHeader
        end local 19 // java.lang.String fileGroup
        end local 18 // java.lang.String fileOwner
        end local 17 // java.lang.String filePermissions
        end local 16 // org.apache.logging.log4j.core.Layout layout
        end local 15 // java.lang.String advertiseURI
        end local 14 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        end local 13 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        end local 11 // long initialTime
        end local 9 // long size
        end local 8 // int bufferSize
        end local 7 // boolean immediateFlush
        end local 6 // boolean append
        end local 5 // java.io.OutputStream os
        end local 4 // java.lang.String pattern
        end local 3 // java.lang.String fileName
        end local 2 // java.io.RandomAccessFile raf
        end local 1 // org.apache.logging.log4j.core.LoggerContext loggerContext
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    7     1    loggerContext  Lorg/apache/logging/log4j/core/LoggerContext;
            0    7     2              raf  Ljava/io/RandomAccessFile;
            0    7     3         fileName  Ljava/lang/String;
            0    7     4          pattern  Ljava/lang/String;
            0    7     5               os  Ljava/io/OutputStream;
            0    7     6           append  Z
            0    7     7   immediateFlush  Z
            0    7     8       bufferSize  I
            0    7     9             size  J
            0    7    11      initialTime  J
            0    7    13           policy  Lorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;
            0    7    14         strategy  Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;
            0    7    15     advertiseURI  Ljava/lang/String;
            0    7    16           layout  Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;
            0    7    17  filePermissions  Ljava/lang/String;
            0    7    18        fileOwner  Ljava/lang/String;
            0    7    19        fileGroup  Ljava/lang/String;
            0    7    20      writeHeader  Z
    Signature: (Lorg/apache/logging/log4j/core/LoggerContext;Ljava/io/RandomAccessFile;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;ZZIJJLorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    MethodParameters:
                 Name  Flags
      loggerContext    final
      raf              final
      fileName         final
      pattern          final
      os               final
      append           final
      immediateFlush   final
      bufferSize       final
      size             final
      initialTime      final
      policy           final
      strategy         final
      advertiseURI     final
      layout           final
      filePermissions  final
      fileOwner        final
      fileGroup        final
      writeHeader      final

  private void writeHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 81
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.layout:Lorg/apache/logging/log4j/core/Layout;
            ifnonnull 2
         1: .line 82
            return
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.layout:Lorg/apache/logging/log4j/core/Layout;
            invokeinterface org.apache.logging.log4j.core.Layout.getHeader:()[B
            astore 1 /* header */
        start local 1 // byte[] header
         3: .line 85
            aload 1 /* header */
            ifnonnull 5
         4: .line 86
            return
         5: .line 89
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            ifnull 10
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.length:()J
            lconst_0
            lcmp
            ifne 10
         6: .line 91
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            aload 1 /* header */
            iconst_0
            aload 1 /* header */
            arraylength
            invokevirtual java.io.RandomAccessFile.write:([BII)V
         7: .line 93
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 2 /* e */
        start local 2 // java.io.IOException e
         9: .line 94
            aload 0 /* this */
            ldc "Unable to write header"
            aload 2 /* e */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
        10: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] header
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            3   11     1  header  [B
            9   10     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     7       8  Class java.io.IOException

  public static org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager getRollingRandomAccessFileManager(java.lang.String, java.lang.String, boolean, boolean, int, org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, java.lang.String, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, java.lang.String, java.lang.String, java.lang.String, org.apache.logging.log4j.core.config.Configuration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZILorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/logging/log4j/core/config/Configuration;)Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=17, locals=14, args_size=13
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String filePattern
        start local 2 // boolean isAppend
        start local 3 // boolean immediateFlush
        start local 4 // int bufferSize
        start local 5 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        start local 6 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        start local 7 // java.lang.String advertiseURI
        start local 8 // org.apache.logging.log4j.core.Layout layout
        start local 9 // java.lang.String filePermissions
        start local 10 // java.lang.String fileOwner
        start local 11 // java.lang.String fileGroup
        start local 12 // org.apache.logging.log4j.core.config.Configuration configuration
         0: .line 103
            aload 6 /* strategy */
            instanceof org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy
            ifeq 3
            aload 0 /* fileName */
            ifnull 3
         1: .line 104
            getstatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "The fileName attribute must not be specified with the DirectWriteRolloverStrategy"
            invokeinterface org.apache.logging.log4j.Logger.error:(Ljava/lang/String;)V
         2: .line 105
            aconst_null
            areturn
         3: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* fileName */
            ifnonnull 4
            aload 1 /* filePattern */
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* fileName */
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 13 /* name */
        start local 13 // java.lang.String name
         6: .line 108
            ldc Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            aload 13 /* name */
            new org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData
            dup
            aload 0 /* fileName */
            aload 1 /* filePattern */
            iload 2 /* isAppend */
         7: .line 109
            iload 3 /* immediateFlush */
            iload 4 /* bufferSize */
            aload 5 /* policy */
            aload 6 /* strategy */
            aload 7 /* advertiseURI */
            aload 8 /* layout */
         8: .line 110
            aload 9 /* filePermissions */
            aload 10 /* fileOwner */
            aload 11 /* fileGroup */
            aload 12 /* configuration */
            invokespecial org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData.<init>:(Ljava/lang/String;Ljava/lang/String;ZZILorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/logging/log4j/core/config/Configuration;)V
            getstatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.FACTORY:Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory;
         9: .line 108
            invokestatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getManager:(Ljava/lang/String;Ljava/lang/Object;Lorg/apache/logging/log4j/core/appender/ManagerFactory;)Lorg/apache/logging/log4j/core/appender/OutputStreamManager;
            invokestatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.narrow:(Ljava/lang/Class;Lorg/apache/logging/log4j/core/appender/AbstractManager;)Lorg/apache/logging/log4j/core/appender/AbstractManager;
            checkcast org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager
            areturn
        end local 13 // java.lang.String name
        end local 12 // org.apache.logging.log4j.core.config.Configuration configuration
        end local 11 // java.lang.String fileGroup
        end local 10 // java.lang.String fileOwner
        end local 9 // java.lang.String filePermissions
        end local 8 // org.apache.logging.log4j.core.Layout layout
        end local 7 // java.lang.String advertiseURI
        end local 6 // org.apache.logging.log4j.core.appender.rolling.RolloverStrategy strategy
        end local 5 // org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy policy
        end local 4 // int bufferSize
        end local 3 // boolean immediateFlush
        end local 2 // boolean isAppend
        end local 1 // java.lang.String filePattern
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0         fileName  Ljava/lang/String;
            0   10     1      filePattern  Ljava/lang/String;
            0   10     2         isAppend  Z
            0   10     3   immediateFlush  Z
            0   10     4       bufferSize  I
            0   10     5           policy  Lorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;
            0   10     6         strategy  Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;
            0   10     7     advertiseURI  Ljava/lang/String;
            0   10     8           layout  Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;
            0   10     9  filePermissions  Ljava/lang/String;
            0   10    10        fileOwner  Ljava/lang/String;
            0   10    11        fileGroup  Ljava/lang/String;
            0   10    12    configuration  Lorg/apache/logging/log4j/core/config/Configuration;
            6   10    13             name  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZZILorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;Ljava/lang/String;Lorg/apache/logging/log4j/core/Layout<+Ljava/io/Serializable;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/logging/log4j/core/config/Configuration;)Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
    MethodParameters:
                 Name  Flags
      fileName         final
      filePattern      final
      isAppend         final
      immediateFlush   final
      bufferSize       final
      policy           final
      strategy         final
      advertiseURI     final
      layout           final
      filePermissions  final
      fileOwner        final
      fileGroup        final
      configuration    final

  public java.lang.Boolean isEndOfBatch();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 114
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.isEndOfBatch:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            areturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;

  public void setEndOfBatch(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // boolean endOfBatch
         0: .line 118
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.isEndOfBatch:Ljava/lang/ThreadLocal;
            iload 1 /* endOfBatch */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 119
            return
        end local 1 // boolean endOfBatch
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    2     1  endOfBatch  Z
    MethodParameters:
            Name  Flags
      endOfBatch  final

  protected synchronized void write(byte[], int, int, boolean);
    descriptor: ([BIIZ)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
        start local 4 // boolean immediateFlush
         0: .line 125
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            iload 4 /* immediateFlush */
            invokespecial org.apache.logging.log4j.core.appender.rolling.RollingFileManager.write:([BIIZ)V
         1: .line 126
            return
        end local 4 // boolean immediateFlush
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    2     1           bytes  [B
            0    2     2          offset  I
            0    2     3          length  I
            0    2     4  immediateFlush  Z
    MethodParameters:
                Name  Flags
      bytes           final
      offset          final
      length          final
      immediateFlush  final

  protected synchronized void writeToDestination(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
         0: .line 131
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            ifnonnull 5
         1: .line 132
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getFileName:()Ljava/lang/String;
            astore 4 /* fileName */
        start local 4 // java.lang.String fileName
         2: .line 133
            new java.io.File
            dup
            aload 4 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* file */
        start local 5 // java.io.File file
         3: .line 134
            aload 5 /* file */
            invokestatic org.apache.logging.log4j.core.util.FileUtils.makeParentDirs:(Ljava/io/File;)V
         4: .line 135
            aload 0 /* this */
            aload 4 /* fileName */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.createFileAfterRollover:(Ljava/lang/String;)V
        end local 5 // java.io.File file
        end local 4 // java.lang.String fileName
         5: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual java.io.RandomAccessFile.write:([BII)V
         6: .line 138
            aload 0 /* this */
            dup
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.size:J
            iload 3 /* length */
            i2l
            ladd
            putfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.size:J
         7: .line 139
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         9: .line 140
            new java.lang.StringBuilder
            dup
            ldc "Error writing to RandomAccessFile "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        10: .line 141
            new org.apache.logging.log4j.core.appender.AppenderLoggingException
            dup
            aload 5 /* msg */
            aload 4 /* ex */
            invokespecial org.apache.logging.log4j.core.appender.AppenderLoggingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.String msg
        end local 4 // java.io.IOException ex
        11: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0   12     1     bytes  [B
            0   12     2    offset  I
            0   12     3    length  I
            2    5     4  fileName  Ljava/lang/String;
            3    5     5      file  Ljava/io/File;
            9   11     4        ex  Ljava/io/IOException;
           10   11     5       msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     7       8  Class java.io.IOException
    MethodParameters:
        Name  Flags
      bytes   final
      offset  final
      length  final

  protected void createFileAfterRollover();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 147
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getFileName:()Ljava/lang/String;
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.createFileAfterRollover:(Ljava/lang/String;)V
         1: .line 148
            return
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
    Exceptions:
      throws java.io.IOException

  private void createFileAfterRollover(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // java.lang.String fileName
         0: .line 151
            aload 0 /* this */
            new java.io.RandomAccessFile
            dup
            aload 1 /* fileName */
            ldc "rw"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
         1: .line 152
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.isAppend:()Z
            ifeq 3
         2: .line 153
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.length:()J
            invokevirtual java.io.RandomAccessFile.seek:(J)V
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeHeader:()V
         4: .line 156
            return
        end local 1 // java.lang.String fileName
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    5     1  fileName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  final

  public synchronized void flush();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 160
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.byteBuffer:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flushBuffer:(Ljava/nio/ByteBuffer;)V
         1: .line 161
            return
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;

  public synchronized boolean closeOutputStream();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 165
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush:()V
         1: .line 166
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            ifnull 7
         2: .line 168
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.randomAccessFile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
         3: .line 169
            iconst_1
            ireturn
         4: .line 170
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         5: .line 171
            aload 0 /* this */
            ldc "Unable to close RandomAccessFile"
            aload 1 /* e */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 172
            iconst_0
            ireturn
        end local 1 // java.io.IOException e
         7: .line 175
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            5    7     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException

  public int getBufferSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
         0: .line 185
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.byteBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            ireturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;

  public void updateData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
        start local 1 // java.lang.Object data
         0: .line 322
            aload 1 /* data */
            checkcast org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData
            astore 2 /* factoryData */
        start local 2 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData factoryData
         1: .line 323
            aload 0 /* this */
            aload 2 /* factoryData */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData.getRolloverStrategy:()Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.setRolloverStrategy:(Lorg/apache/logging/log4j/core/appender/rolling/RolloverStrategy;)V
         2: .line 324
            aload 0 /* this */
            aload 2 /* factoryData */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData.getTriggeringPolicy:()Lorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.setTriggeringPolicy:(Lorg/apache/logging/log4j/core/appender/rolling/TriggeringPolicy;)V
         3: .line 325
            aload 0 /* this */
            new org.apache.logging.log4j.core.appender.rolling.PatternProcessor
            dup
            aload 2 /* factoryData */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData.getPattern:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getPatternProcessor:()Lorg/apache/logging/log4j/core/appender/rolling/PatternProcessor;
            invokespecial org.apache.logging.log4j.core.appender.rolling.PatternProcessor.<init>:(Ljava/lang/String;Lorg/apache/logging/log4j/core/appender/rolling/PatternProcessor;)V
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.setPatternProcessor:(Lorg/apache/logging/log4j/core/appender/rolling/PatternProcessor;)V
         4: .line 326
            return
        end local 2 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData factoryData
        end local 1 // java.lang.Object data
        end local 0 // org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;
            0    5     1         data  Ljava/lang/Object;
            1    5     2  factoryData  Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager$FactoryData;
    MethodParameters:
      Name  Flags
      data  final

  static org.apache.logging.log4j.Logger access$0();
    descriptor: ()Lorg/apache/logging/log4j/Logger;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            getstatic org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.LOGGER:Lorg/apache/logging/log4j/Logger;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void access$1(org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager, java.nio.file.Path);
    descriptor: (Lorg/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager;Ljava/nio/file/Path;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.defineAttributeView:(Ljava/nio/file/Path;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "RollingRandomAccessFileManager.java"
NestMembers:
  org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData  org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory
InnerClasses:
  private FactoryData = org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData of org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager
  private RollingRandomAccessFileManagerFactory = org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory of org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager