This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch release24.09 in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/release24.09 by this push: new 4613beb799 Fixed: ControlServlet falls into error with Cookies log output when Debug log level is switched to verbose (OFBIZ-13148) 4613beb799 is described below commit 4613beb799e76371abc18b64786852b3b390f5e5 Author: Jacques Le Roux <jacques.le.r...@les7arts.com> AuthorDate: Fri Oct 11 08:55:05 2024 +0200 Fixed: ControlServlet falls into error with Cookies log output when Debug log level is switched to verbose (OFBIZ-13148) When running OfBiz with debug level logging, the ControlServlet on WebApp falls into a runtime error as follows when a web page is invoked: Servlet.service() for servlet [ControlServlet] in context with path [/cdc-resmon] threw exception java.lang.ArrayStoreException: javax.servlet.http.Cookie This is caused by the way Cookies are lined up to be streamed using a Cookie[]. instead, Cookies should be rendered to a Map before being streamed to String for logging. --- .../src/main/java/org/apache/ofbiz/webapp/stats/VisitHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/stats/VisitHandler.java b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/stats/VisitHandler.java index a357a905c8..a6cf1f42de 100644 --- a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/stats/VisitHandler.java +++ b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/stats/VisitHandler.java @@ -22,6 +22,7 @@ import java.net.InetAddress; import java.sql.Timestamp; import java.util.Arrays; import java.util.Locale; +import java.util.stream.Collectors; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -235,7 +236,9 @@ public class VisitHandler { Cookie[] cookies = request.getCookies(); if (cookies != null) { if (Debug.verboseOn()) { - Debug.logVerbose("Cookies:" + String.join(",", Arrays.stream(cookies).toArray(String[]::new)), MODULE); + Debug.logVerbose("Cookies:" + String.join(",", Arrays.stream(cookies) + .map(cookie -> cookie.getName() + "=" + cookie.getValue()) + .collect(Collectors.joining(", "))), MODULE); } for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals(VISITOR_COOKIE_NAME)) {