You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ku...@apache.org on 2024/07/13 13:41:47 UTC

(struts) 01/01: WW-5428 Stop further excessive logging in DevMode

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

kusal pushed a commit to branch WW-5428-more-logging
in repository https://gitbox.apache.org/repos/asf/struts.git

commit abfb2f4568c3865a1ae36bbbe2aae3db5450b1e0
Author: Kusal Kithul-Godage <gi...@kusal.io>
AuthorDate: Sat Jul 13 23:41:33 2024 +1000

    WW-5428 Stop further excessive logging in DevMode
---
 .../java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
index 333fd276a..f15b50af1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
@@ -90,6 +90,7 @@ public class SecurityMemberAccess implements MemberAccess {
     private Set<String> excludedPackageNames = emptySet();
     private Set<String> excludedPackageExemptClasses = emptySet();
 
+    private static volatile boolean isDevModeLogged = false;
     private volatile boolean isDevModeInit;
     private boolean isDevMode;
     private Set<String> devModeExcludedClasses = unmodifiableSet(new HashSet<>(singletonList(Object.class.getName())));
@@ -536,7 +537,10 @@ public class SecurityMemberAccess implements MemberAccess {
             return;
         }
         isDevModeInit = true;
-        LOG.warn("Working in devMode, using devMode excluded classes and packages!");
+        if (!isDevModeLogged) {
+            LOG.warn("Working in devMode, using devMode excluded classes and packages!");
+            isDevModeLogged = true;
+        }
         excludedClasses = devModeExcludedClasses;
         excludedPackageNamePatterns = devModeExcludedPackageNamePatterns;
         excludedPackageNames = devModeExcludedPackageNames;