This is an automated email from the ASF dual-hosted git repository.

markt-asf pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 4f6722e39a Reduce duplication
4f6722e39a is described below

commit 4f6722e39a64b717dae738c289a05a487fb55f9c
Author: Mark Thomas <[email protected]>
AuthorDate: Thu May 7 14:27:46 2026 +0100

    Reduce duplication
---
 .../catalina/valves/AbstractAccessLogValve.java    | 26 ++++++++++++++--------
 .../catalina/valves/ExtendedAccessLogValve.java    |  8 +------
 2 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/java/org/apache/catalina/valves/AbstractAccessLogValve.java 
b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
index 498d736e78..3c95e14554 100644
--- a/java/org/apache/catalina/valves/AbstractAccessLogValve.java
+++ b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
@@ -1634,6 +1634,22 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
             this.style = style;
         }
 
+        /**
+         * Creates a new ElapsedTimeElement that will log the time in the 
specified style.
+         *
+         * @param styleName The name of the elapsed-time style to use.
+         */
+        public ElapsedTimeElement(String styleName) {
+            Style style = switch (styleName) {
+                case "ns" -> ElapsedTimeElement.Style.NANOSECONDS;
+                case "us" -> ElapsedTimeElement.Style.MICROSECONDS;
+                case "ms" -> ElapsedTimeElement.Style.MILLISECONDS;
+                case "fracsec" -> ElapsedTimeElement.Style.SECONDS_FRACTIONAL;
+                case null, default -> ElapsedTimeElement.Style.SECONDS;
+            };
+            this(style);
+        }
+
         @Override
         public void addElement(CharArrayWriter buf, Request request, Response 
response, long time) {
             style.append(buf, time);
@@ -2223,15 +2239,7 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
             }
             case 's' -> new SessionAttributeElement(name);
             case 't' -> new DateAndTimeElement(name);
-            case 'T' ->
-                    // ms for milliseconds, us for microseconds, and s for 
seconds
-                    switch (name) {
-                        case "ns" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.NANOSECONDS);
-                        case "us" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.MICROSECONDS);
-                        case "ms" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.MILLISECONDS);
-                        case "fracsec" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.SECONDS_FRACTIONAL);
-                        case null, default -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.SECONDS);
-                    };
+            case 'T' -> new ElapsedTimeElement(name);
             default -> new StringElement("???");
         };
     }
diff --git a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java 
b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
index 219aedaa2d..8375751b03 100644
--- a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
+++ b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
@@ -654,13 +654,7 @@ public class ExtendedAccessLogValve extends AccessLogValve 
{
                     if ("taken".equals(nextToken)) {
                         if (tokenizer.hasSubToken()) {
                             nextToken = tokenizer.getToken();
-                            return switch (nextToken) {
-                                case "ns" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.NANOSECONDS);
-                                case "us" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.MICROSECONDS);
-                                case "ms" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.MILLISECONDS);
-                                case "fracsec" -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.SECONDS_FRACTIONAL);
-                                case null, default -> new 
ElapsedTimeElement(ElapsedTimeElement.Style.SECONDS);
-                            };
+                            return  new ElapsedTimeElement(nextToken);
                         } else {
                             return new 
ElapsedTimeElement(ElapsedTimeElement.Style.SECONDS);
                         }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to