public abstract class org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy implements org.apache.logging.log4j.core.appender.rolling.RolloverStrategy
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy
super_class: java.lang.Object
{
protected static final org.apache.logging.log4j.Logger LOGGER;
descriptor: Lorg/apache/logging/log4j/Logger;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
public static final java.util.regex.Pattern PATTERN_COUNTER;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected final org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor;
descriptor: Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
putstatic org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.LOGGER:Lorg/apache/logging/log4j/Logger;
1: ldc ".*%((?<ZEROPAD>0)?(?<PADDING>\\d+))?i.*"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.PATTERN_COUNTER:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.apache.logging.log4j.core.lookup.StrSubstitutor);
descriptor: (Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.strSubstitutor:Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 3 1 strSubstitutor Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
MethodParameters:
Name Flags
strSubstitutor final
public org.apache.logging.log4j.core.lookup.StrSubstitutor getStrSubstitutor();
descriptor: ()Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.strSubstitutor:Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
protected org.apache.logging.log4j.core.appender.rolling.action.Action merge(org.apache.logging.log4j.core.appender.rolling.action.Action, java.util.List<org.apache.logging.log4j.core.appender.rolling.action.Action>, boolean);
descriptor: (Lorg/apache/logging/log4j/core/appender/rolling/action/Action;Ljava/util/List;Z)Lorg/apache/logging/log4j/core/appender/rolling/action/Action;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: new org.apache.logging.log4j.core.appender.rolling.action.CompositeAction
dup
aload 2
iload 3
invokespecial org.apache.logging.log4j.core.appender.rolling.action.CompositeAction.<init>:(Ljava/util/List;Z)V
areturn
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 4
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 4
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
7: new org.apache.logging.log4j.core.appender.rolling.action.CompositeAction
dup
aload 4
iload 3
invokespecial org.apache.logging.log4j.core.appender.rolling.action.CompositeAction.<init>:(Ljava/util/List;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 8 1 compressAction Lorg/apache/logging/log4j/core/appender/rolling/action/Action;
0 8 2 custom Ljava/util/List<Lorg/apache/logging/log4j/core/appender/rolling/action/Action;>;
0 8 3 stopOnError Z
5 8 4 all Ljava/util/List<Lorg/apache/logging/log4j/core/appender/rolling/action/Action;>;
Signature: (Lorg/apache/logging/log4j/core/appender/rolling/action/Action;Ljava/util/List<Lorg/apache/logging/log4j/core/appender/rolling/action/Action;>;Z)Lorg/apache/logging/log4j/core/appender/rolling/action/Action;
MethodParameters:
Name Flags
compressAction final
custom final
stopOnError final
protected int suffixLength(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: invokestatic org.apache.logging.log4j.core.appender.rolling.FileExtension.values:()[Lorg/apache/logging/log4j/core/appender/rolling/FileExtension;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy java.lang.String top int int org.apache.logging.log4j.core.appender.rolling.FileExtension[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.apache.logging.log4j.core.appender.rolling.FileExtension.isExtensionFor:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
invokevirtual org.apache.logging.log4j.core.appender.rolling.FileExtension.length:()I
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 7 1 lowFilename Ljava/lang/String;
2 4 2 extension Lorg/apache/logging/log4j/core/appender/rolling/FileExtension;
MethodParameters:
Name Flags
lowFilename final
protected java.util.SortedMap<java.lang.Integer, java.nio.file.Path> getEligibleFiles(org.apache.logging.log4j.core.appender.rolling.RollingFileManager);
descriptor: (Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;)Ljava/util/SortedMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles:(Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;Z)Ljava/util/SortedMap;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 1 1 manager Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;
Signature: (Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;)Ljava/util/SortedMap<Ljava/lang/Integer;Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
manager final
protected java.util.SortedMap<java.lang.Integer, java.nio.file.Path> getEligibleFiles(org.apache.logging.log4j.core.appender.rolling.RollingFileManager, boolean);
descriptor: (Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;Z)Ljava/util/SortedMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 1
invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getPatternProcessor:()Lorg/apache/logging/log4j/core/appender/rolling/PatternProcessor;
invokevirtual org.apache.logging.log4j.core.appender.rolling.PatternProcessor.getPattern:()Ljava/lang/String;
astore 4
start local 4 2: aload 1
invokevirtual org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getPatternProcessor:()Lorg/apache/logging/log4j/core/appender/rolling/PatternProcessor;
aload 0
getfield org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.strSubstitutor:Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
aload 3
getstatic org.apache.logging.log4j.core.pattern.NotANumber.NAN:Lorg/apache/logging/log4j/core/pattern/NotANumber;
invokevirtual org.apache.logging.log4j.core.appender.rolling.PatternProcessor.formatFileName:(Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;Ljava/lang/StringBuilder;Ljava/lang/Object;)V
3: aload 0
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
iload 2
invokevirtual org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/SortedMap;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 4 1 manager Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;
0 4 2 isAscending Z
1 4 3 buf Ljava/lang/StringBuilder;
2 4 4 pattern Ljava/lang/String;
Signature: (Lorg/apache/logging/log4j/core/appender/rolling/RollingFileManager;Z)Ljava/util/SortedMap<Ljava/lang/Integer;Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
manager final
isAscending final
protected java.util.SortedMap<java.lang.Integer, java.nio.file.Path> getEligibleFiles(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/SortedMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/SortedMap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 1 1 path Ljava/lang/String;
0 1 2 pattern Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/SortedMap<Ljava/lang/Integer;Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
path final
pattern final
protected java.util.SortedMap<java.lang.Integer, java.nio.file.Path> getEligibleFiles(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/SortedMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 4
start local 4 1: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
start local 5 2: aload 5
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 6
start local 6 3: aload 6
ifnonnull 6
4: new java.io.File
dup
ldc "."
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
5: goto 7
6: StackMap locals: java.util.TreeMap java.io.File java.io.File
StackMap stack:
aload 6
invokevirtual java.io.File.mkdirs:()Z
pop
7: StackMap locals:
StackMap stack:
getstatic org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.PATTERN_COUNTER:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifne 9
8: aload 4
areturn
9: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 7
start local 7 10: aload 5
invokevirtual java.io.File.getName:()Ljava/lang/String;
astore 8
start local 8 11: aload 0
aload 8
invokevirtual org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.suffixLength:(Ljava/lang/String;)I
istore 9
start local 9 12: iload 9
ifle 14
13: new java.lang.StringBuilder
dup
aload 8
iconst_0
aload 8
invokevirtual java.lang.String.length:()I
iload 9
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
14: StackMap locals: java.nio.file.Path java.lang.String int
StackMap stack:
aload 8
ldc "\u0000"
ldc "(\\d+)"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 10
start local 10 15: aload 10
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 11
start local 11 16: aconst_null
astore 12
aconst_null
astore 13
17: aload 7
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 14
start local 14 18: aload 14
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 16
goto 24
StackMap locals: org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy java.lang.String java.lang.String int java.util.TreeMap java.io.File java.io.File java.nio.file.Path java.lang.String int java.lang.String java.util.regex.Pattern java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
19: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 15
start local 15 20: aload 11
aload 15
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 17
start local 17 21: aload 17
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 24
22: aload 17
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 18
start local 18 23: aload 4
aload 18
aload 15
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 18 end local 17 end local 15 24: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
25: aload 14
ifnull 33
aload 14
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 33
StackMap locals: org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy java.lang.String java.lang.String int java.util.TreeMap java.io.File java.io.File java.nio.file.Path java.lang.String int java.lang.String java.util.regex.Pattern java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
26: astore 12
aload 14
ifnull 27
aload 14
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 14 StackMap locals:
StackMap stack:
27: aload 12
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 13
aload 12
ifnonnull 29
aload 13
astore 12
goto 30
StackMap locals:
StackMap stack:
29: aload 12
aload 13
if_acmpeq 30
aload 12
aload 13
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 12
athrow
StackMap locals: org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy java.lang.String java.lang.String int java.util.TreeMap java.io.File java.io.File java.nio.file.Path java.lang.String int java.lang.String java.util.regex.Pattern
StackMap stack: java.io.IOException
31: astore 12
start local 12 32: new org.apache.logging.log4j.LoggingException
dup
new java.lang.StringBuilder
dup
ldc "Error reading folder "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 12
invokespecial org.apache.logging.log4j.LoggingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 33: StackMap locals:
StackMap stack:
iload 3
ifeq 34
aload 4
goto 35
StackMap locals:
StackMap stack:
34: aload 4
invokevirtual java.util.TreeMap.descendingMap:()Ljava/util/NavigableMap;
StackMap locals:
StackMap stack: java.util.NavigableMap
35: areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy;
0 36 1 path Ljava/lang/String;
0 36 2 logfilePattern Ljava/lang/String;
0 36 3 isAscending Z
1 36 4 eligibleFiles Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/nio/file/Path;>;
2 36 5 file Ljava/io/File;
3 36 6 parent Ljava/io/File;
10 36 7 dir Ljava/nio/file/Path;
11 36 8 fileName Ljava/lang/String;
12 36 9 suffixLength I
15 36 10 filePattern Ljava/lang/String;
16 36 11 pattern Ljava/util/regex/Pattern;
18 27 14 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
20 24 15 entry Ljava/nio/file/Path;
21 24 17 matcher Ljava/util/regex/Matcher;
23 24 18 index Ljava/lang/Integer;
32 33 12 ioe Ljava/io/IOException;
Exception table:
from to target type
18 25 26 any
17 28 28 any
16 31 31 Class java.io.IOException
Signature: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/SortedMap<Ljava/lang/Integer;Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
path final
logfilePattern final
isAscending final
}
SourceFile: "AbstractRolloverStrategy.java"