public class org.apache.juli.FileHandler extends java.util.logging.Handler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.juli.FileHandler
super_class: java.util.logging.Handler
{
public static final int DEFAULT_MAX_DAYS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int DEFAULT_BUFFER_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.util.concurrent.ExecutorService DELETE_FILES_SERVICE;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private volatile java.lang.String date;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.lang.String directory;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String prefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String suffix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean rotatable;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.lang.Integer maxDays;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
private volatile java.io.PrintWriter writer;
descriptor: Ljava/io/PrintWriter;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected final java.util.concurrent.locks.ReadWriteLock writerLock;
descriptor: Ljava/util/concurrent/locks/ReadWriteLock;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private java.lang.Integer bufferSize;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern pattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.juli.FileHandler$1
dup
invokespecial org.apache.juli.FileHandler$1.<init>:()V
invokestatic java.util.concurrent.Executors.newSingleThreadExecutor:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
1: putstatic org.apache.juli.FileHandler.DELETE_FILES_SERVICE:Ljava/util/concurrent/ExecutorService;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
aconst_null
aconst_null
invokespecial org.apache.juli.FileHandler.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
public void <init>(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aconst_null
invokespecial org.apache.juli.FileHandler.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
0 2 1 directory Ljava/lang/String;
0 2 2 prefix Ljava/lang/String;
0 2 3 suffix Ljava/lang/String;
MethodParameters:
Name Flags
directory
prefix
suffix
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.Integer);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
aconst_null
aconst_null
invokespecial org.apache.juli.FileHandler.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Integer;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
0 2 1 directory Ljava/lang/String;
0 2 2 prefix Ljava/lang/String;
0 2 3 suffix Ljava/lang/String;
0 2 4 maxDays Ljava/lang/Integer;
MethodParameters:
Name Flags
directory
prefix
suffix
maxDays
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Boolean, java.lang.Integer);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Integer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.util.logging.Handler.<init>:()V
1: aload 0
ldc ""
putfield org.apache.juli.FileHandler.date:Ljava/lang/String;
2: aload 0
aconst_null
putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
3: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
4: aload 0
aload 1
putfield org.apache.juli.FileHandler.directory:Ljava/lang/String;
5: aload 0
aload 2
putfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
6: aload 0
aload 3
putfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
7: aload 0
aload 4
putfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
8: aload 0
aload 5
putfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
9: aload 0
aload 6
putfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
10: aload 0
invokevirtual org.apache.juli.FileHandler.configure:()V
11: aload 0
invokevirtual org.apache.juli.FileHandler.openWriter:()V
12: aload 0
invokevirtual org.apache.juli.FileHandler.clean:()V
13: return
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 14 0 this Lorg/apache/juli/FileHandler;
0 14 1 directory Ljava/lang/String;
0 14 2 prefix Ljava/lang/String;
0 14 3 suffix Ljava/lang/String;
0 14 4 maxDays Ljava/lang/Integer;
0 14 5 rotatable Ljava/lang/Boolean;
0 14 6 bufferSize Ljava/lang/Integer;
MethodParameters:
Name Flags
directory
prefix
suffix
maxDays
rotatable
bufferSize
public void publish(java.util.logging.LogRecord);
descriptor: (Ljava/util/logging/LogRecord;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.juli.FileHandler.isLoggable:(Ljava/util/logging/LogRecord;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new java.sql.Timestamp
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 2
start local 2 3: aload 2
invokevirtual java.sql.Timestamp.toString:()Ljava/lang/String;
iconst_0
bipush 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
5: aload 0
getfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 20
aload 0
getfield org.apache.juli.FileHandler.date:Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
6: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
8: aload 0
getfield org.apache.juli.FileHandler.date:Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
9: aload 0
invokevirtual org.apache.juli.FileHandler.closeWriter:()V
10: aload 0
aload 3
putfield org.apache.juli.FileHandler.date:Ljava/lang/String;
11: aload 0
invokevirtual org.apache.juli.FileHandler.openWriter:()V
12: aload 0
invokevirtual org.apache.juli.FileHandler.clean:()V
13: goto 18
StackMap locals: org.apache.juli.FileHandler java.util.logging.LogRecord java.sql.Timestamp java.lang.String
StackMap stack: java.lang.Throwable
14: astore 4
15: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
16: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: aload 4
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
19: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
20: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 21: aload 0
invokevirtual org.apache.juli.FileHandler.getFormatter:()Ljava/util/logging/Formatter;
aload 1
invokevirtual java.util.logging.Formatter.format:(Ljava/util/logging/LogRecord;)Ljava/lang/String;
astore 4
22: goto 27
StackMap locals: org.apache.juli.FileHandler java.util.logging.LogRecord java.sql.Timestamp java.lang.String java.lang.String
StackMap stack: java.lang.Exception
23: astore 5
start local 5 24: aload 0
aconst_null
aload 5
iconst_5
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
25: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: return
end local 5 27: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
ifnull 32
28: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
aload 4
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
29: aload 0
getfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ifge 42
30: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
31: goto 42
32: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "FileHandler is closed or not yet initialized, unable to log ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
33: aload 4
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;
aconst_null
iconst_1
34: invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
35: goto 42
StackMap locals:
StackMap stack: java.lang.Exception
36: astore 5
start local 5 37: aload 0
aconst_null
aload 5
iconst_1
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
end local 5 end local 4 38: goto 42
StackMap locals: org.apache.juli.FileHandler java.util.logging.LogRecord java.sql.Timestamp java.lang.String
StackMap stack: java.lang.Throwable
39: astore 6
40: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
41: aload 6
athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
43: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/apache/juli/FileHandler;
0 44 1 record Ljava/util/logging/LogRecord;
3 44 2 ts Ljava/sql/Timestamp;
4 44 3 tsDate Ljava/lang/String;
21 38 4 result Ljava/lang/String;
24 27 5 e Ljava/lang/Exception;
37 38 5 e Ljava/lang/Exception;
Exception table:
from to target type
8 14 14 any
21 22 23 Class java.lang.Exception
27 35 36 Class java.lang.Exception
5 25 39 any
27 39 39 any
MethodParameters:
Name Flags
record
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.juli.FileHandler.closeWriter:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
protected void closeWriter();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
ifnonnull 4
2: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
aload 0
invokevirtual org.apache.juli.FileHandler.getFormatter:()Ljava/util/logging/Formatter;
aload 0
invokevirtual java.util.logging.Formatter.getTail:(Ljava/util/logging/Handler;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
5: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
6: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.close:()V
7: aload 0
aconst_null
putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
8: aload 0
ldc ""
putfield org.apache.juli.FileHandler.date:Ljava/lang/String;
9: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
10: astore 1
start local 1 11: aload 0
aconst_null
aload 1
iconst_3
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
end local 1 12: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
goto 17
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
14: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/juli/FileHandler;
11 12 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 10 Class java.lang.Exception
4 9 10 Class java.lang.Exception
1 2 13 any
4 12 13 any
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
ifnonnull 4
2: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
5: goto 12
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 1
start local 1 7: aload 0
aconst_null
aload 1
iconst_2
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
end local 1 8: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
goto 13
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
10: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 2
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/juli/FileHandler;
7 8 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 6 Class java.lang.Exception
4 5 6 Class java.lang.Exception
1 2 9 any
4 8 9 any
private void configure();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: new java.sql.Timestamp
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual java.sql.Timestamp.toString:()Ljava/lang/String;
iconst_0
bipush 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.apache.juli.FileHandler.date:Ljava/lang/String;
2: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 2
start local 2 3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 4: aload 0
getfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
ifnonnull 6
5: aload 0
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".rotatable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "true"
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
putfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
6: StackMap locals: java.sql.Timestamp java.lang.String java.lang.ClassLoader
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.directory:Ljava/lang/String;
ifnonnull 8
7: aload 0
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".directory"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "logs"
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.juli.FileHandler.directory:Ljava/lang/String;
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
ifnonnull 10
9: aload 0
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".prefix"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "juli."
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
ifnonnull 12
11: aload 0
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".suffix"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc ".log"
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 14
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 14
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 14
13: iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 4
start local 4 16: iload 4
ifeq 19
17: aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 19
18: aload 0
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
19: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "^("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")\\d{4}-\\d{1,2}-\\d{1,2}("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)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;
21: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.juli.FileHandler.pattern:Ljava/util/regex/Pattern;
22: aload 0
getfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
ifnonnull 28
23: aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".maxDays"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_m1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 24: aload 0
aload 5
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
putfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
25: goto 28
StackMap locals: org.apache.juli.FileHandler java.sql.Timestamp java.lang.String java.lang.ClassLoader int java.lang.String
StackMap stack: java.lang.NumberFormatException
26: pop
27: aload 0
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
end local 5 28: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
ifnonnull 36
29: aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".bufferSize"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: iconst_m1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
31: invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 32: aload 0
aload 5
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
putfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
33: goto 36
StackMap locals: org.apache.juli.FileHandler java.sql.Timestamp java.lang.String java.lang.ClassLoader int java.lang.String
StackMap stack: java.lang.NumberFormatException
34: pop
35: aload 0
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
end local 5 36: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".encoding"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 37: aload 5
ifnull 41
aload 5
invokevirtual java.lang.String.length:()I
ifle 41
38: aload 0
aload 5
invokevirtual org.apache.juli.FileHandler.setEncoding:(Ljava/lang/String;)V
39: goto 41
StackMap locals: org.apache.juli.FileHandler java.sql.Timestamp java.lang.String java.lang.ClassLoader int java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
40: pop
41: StackMap locals:
StackMap stack:
aload 0
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".level"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.logging.Level.parse:(Ljava/lang/String;)Ljava/util/logging/Level;
invokevirtual org.apache.juli.FileHandler.setLevel:(Ljava/util/logging/Level;)V
42: aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".filter"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 43: aload 6
ifnull 47
44: aload 0
aload 3
aload 6
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.logging.Filter
invokevirtual org.apache.juli.FileHandler.setFilter:(Ljava/util/logging/Filter;)V
45: goto 47
StackMap locals: org.apache.juli.FileHandler java.sql.Timestamp java.lang.String java.lang.ClassLoader int java.lang.String java.lang.String
StackMap stack: java.lang.Exception
46: pop
47: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".formatter"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual org.apache.juli.FileHandler.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 48: aload 7
ifnull 58
49: aload 0
aload 3
50: aload 7
51: invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
52: invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.logging.Formatter
53: invokevirtual org.apache.juli.FileHandler.setFormatter:(Ljava/util/logging/Formatter;)V
54: goto 59
StackMap locals: org.apache.juli.FileHandler java.sql.Timestamp java.lang.String java.lang.ClassLoader int java.lang.String java.lang.String java.lang.String
StackMap stack: java.lang.Exception
55: pop
56: aload 0
new org.apache.juli.OneLineFormatter
dup
invokespecial org.apache.juli.OneLineFormatter.<init>:()V
invokevirtual org.apache.juli.FileHandler.setFormatter:(Ljava/util/logging/Formatter;)V
57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
new org.apache.juli.OneLineFormatter
dup
invokespecial org.apache.juli.OneLineFormatter.<init>:()V
invokevirtual org.apache.juli.FileHandler.setFormatter:(Ljava/util/logging/Formatter;)V
59: StackMap locals:
StackMap stack:
aload 0
new java.util.logging.ErrorManager
dup
invokespecial java.util.logging.ErrorManager.<init>:()V
invokevirtual org.apache.juli.FileHandler.setErrorManager:(Ljava/util/logging/ErrorManager;)V
60: return
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 61 0 this Lorg/apache/juli/FileHandler;
1 61 1 ts Ljava/sql/Timestamp;
3 61 2 className Ljava/lang/String;
4 61 3 cl Ljava/lang/ClassLoader;
16 61 4 shouldCheckForRedundantSeparator Z
24 28 5 sMaxDays Ljava/lang/String;
32 36 5 sBufferSize Ljava/lang/String;
37 61 5 encoding Ljava/lang/String;
43 61 6 filterName Ljava/lang/String;
48 61 7 formatterName Ljava/lang/String;
Exception table:
from to target type
24 25 26 Class java.lang.NumberFormatException
32 33 34 Class java.lang.NumberFormatException
38 39 40 Class java.io.UnsupportedEncodingException
44 45 46 Class java.lang.Exception
49 54 55 Class java.lang.Exception
private java.lang.String getProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
aload 1
invokevirtual java.util.logging.LogManager.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 2
astore 3
3: goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 3
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 3
5: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/juli/FileHandler;
0 6 1 name Ljava/lang/String;
0 6 2 defaultValue Ljava/lang/String;
1 6 3 value Ljava/lang/String;
MethodParameters:
Name Flags
name
defaultValue
protected void open();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.juli.FileHandler.openWriter:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
protected void openWriter();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=1
start local 0 0: new java.io.File
dup
aload 0
getfield org.apache.juli.FileHandler.directory:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.mkdirs:()Z
ifne 5
aload 1
invokevirtual java.io.File.isDirectory:()Z
ifne 5
2: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to create ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
iconst_4
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
3: aload 0
aconst_null
putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
4: return
5: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
6: aconst_null
astore 2
start local 2 7: aconst_null
astore 3
start local 3 8: new java.io.File
dup
aload 1
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
new java.lang.StringBuilder
dup
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
getfield org.apache.juli.FileHandler.rotatable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
aload 0
getfield org.apache.juli.FileHandler.date:Ljava/lang/String;
goto 11
StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream
StackMap stack: new 8 new 8 java.io.File java.lang.StringBuilder
10: ldc ""
StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream
StackMap stack: new 8 new 8 java.io.File java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 4
start local 4 13: aload 4
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 5
start local 5 14: aload 5
invokevirtual java.io.File.mkdirs:()Z
ifne 19
aload 5
invokevirtual java.io.File.isDirectory:()Z
ifne 19
15: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to create ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
iconst_4
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
16: aload 0
aconst_null
putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
17: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: return
19: StackMap locals: java.io.File java.io.File
StackMap stack:
aload 0
invokevirtual org.apache.juli.FileHandler.getEncoding:()Ljava/lang/String;
astore 6
start local 6 20: new java.io.FileOutputStream
dup
aload 4
iconst_1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;Z)V
astore 2
21: aload 0
getfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ifle 22
new java.io.BufferedOutputStream
dup
aload 2
aload 0
getfield org.apache.juli.FileHandler.bufferSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
goto 23
StackMap locals: java.lang.String
StackMap stack:
22: aload 2
StackMap locals:
StackMap stack: java.io.OutputStream
23: astore 3
24: aload 0
25: new java.io.PrintWriter
dup
26: aload 6
ifnull 27
new java.io.OutputStreamWriter
dup
aload 3
aload 6
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
goto 28
27: StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream java.io.File java.io.File java.lang.String
StackMap stack: org.apache.juli.FileHandler new 25 new 25
new java.io.OutputStreamWriter
dup
aload 3
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream java.io.File java.io.File java.lang.String
StackMap stack: org.apache.juli.FileHandler new 25 new 25 java.io.OutputStreamWriter
28: iconst_0
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
29: putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
30: aload 0
getfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
aload 0
invokevirtual org.apache.juli.FileHandler.getFormatter:()Ljava/util/logging/Formatter;
aload 0
invokevirtual java.util.logging.Formatter.getHead:(Ljava/util/logging/Handler;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 31: goto 47
StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream
StackMap stack: java.lang.Exception
32: astore 4
start local 4 33: aload 0
aconst_null
aload 4
iconst_4
invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
34: aload 0
aconst_null
putfield org.apache.juli.FileHandler.writer:Ljava/io/PrintWriter;
35: aload 2
ifnull 39
36: aload 2
invokevirtual java.io.FileOutputStream.close:()V
37: goto 39
StackMap locals: org.apache.juli.FileHandler java.io.File java.io.FileOutputStream java.io.OutputStream java.lang.Exception
StackMap stack: java.io.IOException
38: pop
39: StackMap locals:
StackMap stack:
aload 3
ifnull 43
40: aload 3
invokevirtual java.io.OutputStream.close:()V
41: goto 43
StackMap locals:
StackMap stack: java.io.IOException
42: pop
end local 4 43: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
goto 48
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
45: aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
46: aload 7
athrow
47: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.juli.FileHandler.writerLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
48: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/apache/juli/FileHandler;
1 49 1 dir Ljava/io/File;
7 49 2 fos Ljava/io/FileOutputStream;
8 49 3 os Ljava/io/OutputStream;
13 31 4 pathname Ljava/io/File;
14 31 5 parent Ljava/io/File;
20 31 6 encoding Ljava/lang/String;
33 43 4 e Ljava/lang/Exception;
Exception table:
from to target type
8 17 32 Class java.lang.Exception
19 31 32 Class java.lang.Exception
36 37 38 Class java.io.IOException
40 41 42 Class java.io.IOException
8 17 44 any
19 43 44 any
private void clean();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ifgt 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.apache.juli.FileHandler.DELETE_FILES_SERVICE:Ljava/util/concurrent/ExecutorService;
aload 0
invokedynamic run(Lorg/apache/juli/FileHandler;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/juli/FileHandler.lambda$0()V (7)
()V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/juli/FileHandler;
private java.nio.file.DirectoryStream<java.nio.file.Path> streamFilesForDelete();
descriptor: ()Ljava/nio/file/DirectoryStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic java.time.LocalDate.now:()Ljava/time/LocalDate;
aload 0
getfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
i2l
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.LocalDate.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
astore 1
start local 1 1: new java.io.File
dup
aload 0
getfield org.apache.juli.FileHandler.directory:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
aload 0
aload 1
invokedynamic accept(Lorg/apache/juli/FileHandler;Ljava/time/LocalDate;)Ljava/nio/file/DirectoryStream$Filter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/apache/juli/FileHandler.lambda$1(Ljava/time/LocalDate;Ljava/nio/file/Path;)Z (7)
(Ljava/nio/file/Path;)Z
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/juli/FileHandler;
1 2 1 maxDaysOffset Ljava/time/LocalDate;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
private java.lang.String obtainDateFromPath(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.nio.file.Path
StackMap stack:
aload 2
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield org.apache.juli.FileHandler.pattern:Ljava/util/regex/Pattern;
aload 3
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
5: aload 3
aload 0
getfield org.apache.juli.FileHandler.prefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
6: aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
aload 0
getfield org.apache.juli.FileHandler.suffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
7: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/juli/FileHandler;
0 8 1 path Ljava/nio/file/Path;
1 8 2 fileName Ljava/nio/file/Path;
4 8 3 date Ljava/lang/String;
MethodParameters:
Name Flags
path
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
invokevirtual org.apache.juli.FileHandler.streamFilesForDelete:()Ljava/nio/file/DirectoryStream;
astore 3
start local 3 2: aload 3
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.apache.juli.FileHandler java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 4
start local 4 4: aload 4
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 3
ifnull 16
aload 3
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 16
StackMap locals: org.apache.juli.FileHandler java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
7: astore 1
aload 3
ifnull 8
aload 3
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 3 StackMap locals:
StackMap stack:
8: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 2
aload 1
ifnonnull 10
aload 2
astore 1
goto 11
StackMap locals:
StackMap stack:
10: aload 1
aload 2
if_acmpeq 11
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 1
athrow
StackMap locals: org.apache.juli.FileHandler
StackMap stack: java.io.IOException
12: pop
13: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to delete log files older than ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.juli.FileHandler.maxDays:Ljava/lang/Integer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] days"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
14: iconst_0
15: invokevirtual org.apache.juli.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/juli/FileHandler;
2 8 3 files Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
4 5 4 file Ljava/nio/file/Path;
Exception table:
from to target type
2 6 7 any
1 9 9 any
0 12 12 Class java.io.IOException
private boolean lambda$1(java.time.LocalDate, java.nio.file.Path);
descriptor: (Ljava/time/LocalDate;Ljava/nio/file/Path;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
aload 2
invokevirtual org.apache.juli.FileHandler.obtainDateFromPath:(Ljava/nio/file/Path;)Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnull 7
3: getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
aload 4
invokevirtual java.time.format.DateTimeFormatter.parse:(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;
invokestatic java.time.LocalDate.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
astore 5
start local 5 4: aload 5
aload 1
invokevirtual java.time.LocalDate.isBefore:(Ljava/time/chrono/ChronoLocalDate;)Z
istore 3
end local 5 5: goto 7
StackMap locals: org.apache.juli.FileHandler java.time.LocalDate java.nio.file.Path int java.lang.String
StackMap stack: java.time.DateTimeException
6: pop
7: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/juli/FileHandler;
0 8 2 path Ljava/nio/file/Path;
1 8 3 result Z
2 8 4 date Ljava/lang/String;
4 5 5 dateFromFile Ljava/time/LocalDate;
Exception table:
from to target type
3 5 6 Class java.time.DateTimeException
Exceptions:
throws java.io.IOException
}
SourceFile: "FileHandler.java"
NestMembers:
org.apache.juli.FileHandler$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
org.apache.juli.FileHandler$1