public final class org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction extends org.apache.logging.log4j.core.appender.rolling.action.AbstractAction
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction
  super_class: org.apache.logging.log4j.core.appender.rolling.action.AbstractAction
{
  private static final int BUF_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  private final java.io.File source;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.File destination;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean deleteSource;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int compressionLevel;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.File, java.io.File, boolean, int);
    descriptor: (Ljava/io/File;Ljava/io/File;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
        start local 1 // java.io.File source
        start local 2 // java.io.File destination
        start local 3 // boolean deleteSource
        start local 4 // int compressionLevel
         0: .line 68
            aload 0 /* this */
            invokespecial org.apache.logging.log4j.core.appender.rolling.action.AbstractAction.<init>:()V
         1: .line 70
            aload 1 /* source */
            ldc "source"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 71
            aload 2 /* destination */
            ldc "destination"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 73
            aload 0 /* this */
            aload 1 /* source */
            putfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.source:Ljava/io/File;
         4: .line 74
            aload 0 /* this */
            aload 2 /* destination */
            putfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.destination:Ljava/io/File;
         5: .line 75
            aload 0 /* this */
            iload 3 /* deleteSource */
            putfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.deleteSource:Z
         6: .line 76
            aload 0 /* this */
            iload 4 /* compressionLevel */
            putfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.compressionLevel:I
         7: .line 77
            return
        end local 4 // int compressionLevel
        end local 3 // boolean deleteSource
        end local 2 // java.io.File destination
        end local 1 // java.io.File source
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
            0    8     1            source  Ljava/io/File;
            0    8     2       destination  Ljava/io/File;
            0    8     3      deleteSource  Z
            0    8     4  compressionLevel  I
    MethodParameters:
                  Name  Flags
      source            final
      destination       final
      deleteSource      final
      compressionLevel  final

  public void <init>(java.io.File, java.io.File, boolean);
    descriptor: (Ljava/io/File;Ljava/io/File;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
        start local 1 // java.io.File source
        start local 2 // java.io.File destination
        start local 3 // boolean deleteSource
         0: .line 86
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* destination */
            iload 3 /* deleteSource */
            iconst_m1
            invokespecial org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.<init>:(Ljava/io/File;Ljava/io/File;ZI)V
         1: .line 87
            return
        end local 3 // boolean deleteSource
        end local 2 // java.io.File destination
        end local 1 // java.io.File source
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
            0    2     1        source  Ljava/io/File;
            0    2     2   destination  Ljava/io/File;
            0    2     3  deleteSource  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      source        final
      destination   final
      deleteSource  final

  public boolean execute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
         0: .line 97
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.source:Ljava/io/File;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.destination:Ljava/io/File;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.deleteSource:Z
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.compressionLevel:I
            invokestatic org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.execute:(Ljava/io/File;Ljava/io/File;ZI)Z
            ireturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
    Exceptions:
      throws java.io.IOException

  public static boolean execute(java.io.File, java.io.File, boolean);
    descriptor: (Ljava/io/File;Ljava/io/File;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
        start local 2 // boolean deleteSource
         0: .line 114
            aload 0 /* source */
            aload 1 /* destination */
            iload 2 /* deleteSource */
            iconst_m1
            invokestatic org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.execute:(Ljava/io/File;Ljava/io/File;ZI)Z
            ireturn
        end local 2 // boolean deleteSource
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0        source  Ljava/io/File;
            0    1     1   destination  Ljava/io/File;
            0    1     2  deleteSource  Z
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      source        final
      destination   final
      deleteSource  final

  public static boolean execute(java.io.File, java.io.File, boolean, int);
    descriptor: (Ljava/io/File;Ljava/io/File;ZI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
        start local 2 // boolean deleteSource
        start local 3 // int compressionLevel
         0: .line 134
            aload 0 /* source */
            invokevirtual java.io.File.exists:()Z
            ifeq 37
         1: .line 135
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: new java.io.FileInputStream
            dup
            aload 0 /* source */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 6 /* fis */
        start local 6 // java.io.FileInputStream fis
         3: .line 136
            new java.io.FileOutputStream
            dup
            aload 1 /* destination */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 7 /* fos */
        start local 7 // java.io.OutputStream fos
         4: .line 137
            new org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction$ConfigurableLevelGZIPOutputStream
            dup
         5: .line 138
            aload 7 /* fos */
            sipush 8192
            iload 3 /* compressionLevel */
         6: .line 137
            invokespecial org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction$ConfigurableLevelGZIPOutputStream.<init>:(Ljava/io/OutputStream;II)V
            astore 8 /* gzipOut */
        start local 8 // java.io.OutputStream gzipOut
         7: .line 140
            new java.io.BufferedOutputStream
            dup
            aload 8 /* gzipOut */
            sipush 8192
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            astore 9 /* os */
        start local 9 // java.io.OutputStream os
         8: .line 141
            sipush 8192
            newarray 8
            astore 10 /* inbuf */
        start local 10 // byte[] inbuf
         9: .line 144
            goto 11
        start local 11 // int n
        10: .line 145
      StackMap locals: java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.OutputStream java.io.OutputStream java.io.OutputStream byte[] int
      StackMap stack:
            aload 9 /* os */
            aload 10 /* inbuf */
            iconst_0
            iload 11 /* n */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 11 // int n
        11: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* fis */
            aload 10 /* inbuf */
            invokevirtual java.io.FileInputStream.read:([B)I
            dup
            istore 11 /* n */
        start local 11 // int n
        12: iconst_m1
            if_icmpne 10
        end local 11 // int n
        end local 10 // byte[] inbuf
        13: .line 147
            aload 9 /* os */
            ifnull 16
            aload 9 /* os */
            invokevirtual java.io.OutputStream.close:()V
            goto 16
      StackMap locals: java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.OutputStream java.io.OutputStream java.io.OutputStream
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 9 /* os */
            ifnull 15
            aload 9 /* os */
            invokevirtual java.io.OutputStream.close:()V
        end local 9 // java.io.OutputStream os
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
      StackMap locals:
      StackMap stack:
        16: aload 8 /* gzipOut */
            ifnull 21
            aload 8 /* gzipOut */
            invokevirtual java.io.OutputStream.close:()V
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 5
            aload 4
            ifnonnull 18
            aload 5
            astore 4
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 4
            aload 5
            if_acmpeq 19
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 8 /* gzipOut */
            ifnull 20
            aload 8 /* gzipOut */
            invokevirtual java.io.OutputStream.close:()V
        end local 8 // java.io.OutputStream gzipOut
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
      StackMap locals:
      StackMap stack:
        21: aload 7 /* fos */
            ifnull 26
            aload 7 /* fos */
            invokevirtual java.io.OutputStream.close:()V
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 5
            aload 4
            ifnonnull 23
            aload 5
            astore 4
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 4
            aload 5
            if_acmpeq 24
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 7 /* fos */
            ifnull 25
            aload 7 /* fos */
            invokevirtual java.io.OutputStream.close:()V
        end local 7 // java.io.OutputStream fos
      StackMap locals:
      StackMap stack:
        25: aload 4
            athrow
      StackMap locals:
      StackMap stack:
        26: aload 6 /* fis */
            ifnull 34
            aload 6 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 5
            aload 4
            ifnonnull 28
            aload 5
            astore 4
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 4
            aload 5
            if_acmpeq 29
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 6 /* fis */
            ifnull 30
            aload 6 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 6 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        30: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 5
            aload 4
            ifnonnull 32
            aload 5
            astore 4
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 4
            aload 5
            if_acmpeq 33
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 4
            athrow
        34: .line 149
      StackMap locals:
      StackMap stack:
            iload 2 /* deleteSource */
            ifeq 36
            aload 0 /* source */
            invokevirtual java.io.File.delete:()Z
            ifne 36
        35: .line 150
            getstatic org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "Unable to delete {}."
            aload 0 /* source */
            invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 153
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        37: .line 156
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int compressionLevel
        end local 2 // boolean deleteSource
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0            source  Ljava/io/File;
            0   38     1       destination  Ljava/io/File;
            0   38     2      deleteSource  Z
            0   38     3  compressionLevel  I
            3   30     6               fis  Ljava/io/FileInputStream;
            4   25     7               fos  Ljava/io/OutputStream;
            7   20     8           gzipOut  Ljava/io/OutputStream;
            8   15     9                os  Ljava/io/OutputStream;
            9   13    10             inbuf  [B
           10   11    11                 n  I
           12   13    11                 n  I
      Exception table:
        from    to  target  type
           8    13      14  any
           7    16      17  any
           4    21      22  any
           3    26      27  any
           2    31      31  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      source            final
      destination       final
      deleteSource      final
      compressionLevel  final

  protected void reportException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
        start local 1 // java.lang.Exception ex
         0: .line 174
            getstatic org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.LOGGER:Lorg/apache/logging/log4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Exception during compression of '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.source:Ljava/io/File;
            invokevirtual java.io.File.toString:()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 1 /* ex */
            invokeinterface org.apache.logging.log4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
         1: .line 175
            return
        end local 1 // java.lang.Exception ex
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
            0    2     1    ex  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      ex    final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
         0: .line 179
            new java.lang.StringBuilder
            dup
            ldc Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.source:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.destination:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         1: .line 180
            ldc ", deleteSource="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.deleteSource:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 179
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;

  public java.io.File getSource();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
         0: .line 184
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.source:Ljava/io/File;
            areturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;

  public java.io.File getDestination();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
         0: .line 188
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.destination:Ljava/io/File;
            areturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;

  public boolean isDeleteSource();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
         0: .line 192
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction.deleteSource:Z
            ireturn
        end local 0 // org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/appender/rolling/action/GzCompressAction;
}
SourceFile: "GzCompressAction.java"
NestMembers:
  org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction$ConfigurableLevelGZIPOutputStream
InnerClasses:
  private final ConfigurableLevelGZIPOutputStream = org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction$ConfigurableLevelGZIPOutputStream of org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction