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 <g...@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;

Reply via email to