You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2023/11/13 20:16:00 UTC

(logging-log4j2) 02/02: Update AbstractManager reflective cleanup

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

mattsicker pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 61d3e703e481efa3705eb9e7f38710b322cc17fe
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Sun Nov 12 18:48:45 2023 -0600

    Update AbstractManager reflective cleanup
    
    This was matching the old behavior which changed.
    
    Signed-off-by: Matt Sicker <ma...@apache.org>
---
 .../log4j/core/appender/ReconfigureAppenderTest.java        | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
index 6f96ab4b7b..dcc03e1bae 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
@@ -17,13 +17,13 @@
 package org.apache.logging.log4j.core.appender;
 
 import java.lang.reflect.Field;
-import java.util.Map;
 
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Logger;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy;
+import org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
 import org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy;
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
@@ -105,15 +105,12 @@ public class ReconfigureAppenderTest {
     {
         try
         {
-            final Field field = AbstractManager.class.getDeclaredField("MAP");
+            final Field field = AbstractManager.class.getDeclaredField("REGISTRY");
             field.setAccessible(true);
+            final ManagerRegistry registry = (ManagerRegistry) field.get(null);
 
-            // Retrieve the map itself.
-            final Map<String, AbstractManager> map =
-            (Map<String, AbstractManager>) field.get(null);
-
-            // Remove the file manager keyed on file pattern.
-            map.remove(appender.getFilePattern());
+            final RollingFileManager manager = appender.getManager();
+            registry.removeManager(manager.getName(), manager);
         }
         catch (Exception e)
         {