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

schultz pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
     new e2de58c702 Don't create a StringBuilder object until we know we have 
at least one Cookie value to log.
e2de58c702 is described below

commit e2de58c70266bb99557f318e86bf846b01cc13e9
Author: Christopher Schultz <ch...@christopherschultz.net>
AuthorDate: Thu Apr 18 09:30:50 2024 -0400

    Don't create a StringBuilder object until we know we have at least one 
Cookie value to log.
---
 java/org/apache/catalina/valves/AbstractAccessLogValve.java | 3 ++-
 webapps/docs/changelog.xml                                  | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/valves/AbstractAccessLogValve.java 
b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
index b1d77e974b..df942110ab 100644
--- a/java/org/apache/catalina/valves/AbstractAccessLogValve.java
+++ b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
@@ -1481,7 +1481,7 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
 
         @Override
         public void addElement(CharArrayWriter buf, Date date, Request 
request, Response response, long time) {
-            StringBuilder value = new StringBuilder();
+            StringBuilder value = null;
             boolean first = true;
             Cookie[] cookies = request.getCookies();
             if (cookies != null) {
@@ -1492,6 +1492,7 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
                         } else {
                             value.append(',');
                         }
+                        value = new StringBuilder();
                         value.append(cookie.getValue());
                     }
                 }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index ff466e8bdd..ffd50ade32 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -125,6 +125,10 @@
         <code>trimCredentials</code> setting will be removed in Tomcat 11.
         (markt)
       </fix>
+      <add>
+        Small performance optimization when logging cookies with no values.
+        (schultz)
+      </add>
     </changelog>
   </subsection>
   <subsection name="Coyote">


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to