Implement display of multiple request headers in AccessLogValve:
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Apr 2011 01:19:13 +0000 (01:19 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Apr 2011 01:19:13 +0000 (01:19 +0000)
print not just the value of the first header, but of the all of them,
separated by commas.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1088460 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/valves/AccessLogValve.java
webapps/docs/changelog.xml

index 3129f88..b13e7ce 100644 (file)
@@ -28,6 +28,7 @@ import java.net.InetAddress;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.List;
 import java.util.TimeZone;
@@ -1241,12 +1242,15 @@ public class AccessLogValve extends ValveBase implements AccessLog {
         @Override
         public void addElement(StringBuilder buf, Date date, Request request,
                 Response response, long time) {
-            String value = request.getHeader(header);
-            if (value == null) {
-                buf.append('-');
-            } else {
-                buf.append(value);
+            Enumeration<String> iter = request.getHeaders(header);
+            if (iter.hasMoreElements()) {
+                buf.append(iter.nextElement());
+                while (iter.hasMoreElements()) {
+                    buf.append(',').append(iter.nextElement());
+                }
+                return;
             }
+            buf.append('-');
         }
     }
 
index 63d5f67..159c986 100644 (file)
       <fix>
         Fix display of response headers in AccessLogValve. (kkolinko)
       </fix>
+      <update>
+        Implement display of multiple request headers in AccessLogValve:
+        print not just the value of the first header, but of the all of them,
+        separated by commas. (kkolinko)
+      </update>
     </changelog>
   </subsection>
   <subsection name="Web applications">