public class org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement implements org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement
  super_class: java.lang.Object
{
  private final boolean micros;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement this
        start local 1 // boolean micros
        start local 2 // boolean millis
         0: .line 1333
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1334
            aload 0 /* this */
            iload 1 /* micros */
            putfield org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement.micros:Z
         2: .line 1335
            aload 0 /* this */
            iload 2 /* millis */
            putfield org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement.millis:Z
         3: .line 1336
            return
        end local 2 // boolean millis
        end local 1 // boolean micros
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/catalina/valves/AbstractAccessLogValve$ElapsedTimeElement;
            0    4     1  micros  Z
            0    4     2  millis  Z
    MethodParameters:
        Name  Flags
      micros  
      millis  

  public void addElement(java.io.CharArrayWriter, java.util.Date, org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, long);
    descriptor: (Ljava/io/CharArrayWriter;Ljava/util/Date;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement this
        start local 1 // java.io.CharArrayWriter buf
        start local 2 // java.util.Date date
        start local 3 // org.apache.catalina.connector.Request request
        start local 4 // org.apache.catalina.connector.Response response
        start local 5 // long time
         0: .line 1341
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement.micros:Z
            ifeq 3
         1: .line 1342
            aload 1 /* buf */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMicros:(J)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
         2: .line 1343
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement.millis:Z
            ifeq 6
         4: .line 1344
            aload 1 /* buf */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
         5: .line 1345
            goto 7
         6: .line 1347
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
         7: .line 1349
      StackMap locals:
      StackMap stack:
            return
        end local 5 // long time
        end local 4 // org.apache.catalina.connector.Response response
        end local 3 // org.apache.catalina.connector.Request request
        end local 2 // java.util.Date date
        end local 1 // java.io.CharArrayWriter buf
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/catalina/valves/AbstractAccessLogValve$ElapsedTimeElement;
            0    8     1       buf  Ljava/io/CharArrayWriter;
            0    8     2      date  Ljava/util/Date;
            0    8     3   request  Lorg/apache/catalina/connector/Request;
            0    8     4  response  Lorg/apache/catalina/connector/Response;
            0    8     5      time  J
    MethodParameters:
          Name  Flags
      buf       
      date      
      request   
      response  
      time      
}
SourceFile: "AbstractAccessLogValve.java"
NestHost: org.apache.catalina.valves.AbstractAccessLogValve
InnerClasses:
  protected abstract AccessLogElement = org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement of org.apache.catalina.valves.AbstractAccessLogValve
  protected ElapsedTimeElement = org.apache.catalina.valves.AbstractAccessLogValve$ElapsedTimeElement of org.apache.catalina.valves.AbstractAccessLogValve