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

pkarwasz pushed a commit to branch fix/rebase-on-log4j-api-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit b867e1321d8c598d111fc2a41340f41e8692c4ec
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Mon Mar 25 21:10:08 2024 +0100

    Adapt `log4j-async-logger` to Log4j API 2.x
---
 .../QueueFullAsyncLoggerConfigLoggingFromToStringTest.java    |  2 +-
 .../logging/log4j/async/logger/RingBufferLogEventTest.java    | 11 +++++++----
 .../org/apache/logging/log4j/core/test/TestConstants.java     |  6 +++---
 .../logging/log4j/core/util/ShutdownCallbackRegistryTest.java |  3 +++
 .../java/org/apache/logging/log4j/core/impl/CoreKeys.java     |  2 +-
 .../apache/logging/log4j/core/impl/Log4jContextFactory.java   |  8 ++++----
 6 files changed, 19 insertions(+), 13 deletions(-)

diff --git 
a/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
 
b/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
index c373fd5279..147d7f1646 100644
--- 
a/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
+++ 
b/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
@@ -46,6 +46,6 @@ public class 
QueueFullAsyncLoggerConfigLoggingFromToStringTest extends QueueFull
     @Override
     protected void checkConfig(final LoggerContext ctx) throws 
ReflectiveOperationException {
         assertAsyncLoggerConfig(ctx, 128);
-        assertThat(Constants.isWebApp()).isFalse();
+        assertThat(Constants.IS_WEB_APP).isFalse();
     }
 }
diff --git 
a/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/RingBufferLogEventTest.java
 
b/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/RingBufferLogEventTest.java
index edefd4975c..2a0eb4329b 100644
--- 
a/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/RingBufferLogEventTest.java
+++ 
b/log4j-async-logger/src/test/java/org/apache/logging/log4j/async/logger/RingBufferLogEventTest.java
@@ -30,12 +30,13 @@ import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.ThreadContext.ContextStack;
 import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory;
 import org.apache.logging.log4j.core.time.Clock;
 import org.apache.logging.log4j.core.time.NanoClock;
 import org.apache.logging.log4j.core.time.internal.DummyNanoClock;
 import org.apache.logging.log4j.core.time.internal.FixedPreciseClock;
+import 
org.apache.logging.log4j.kit.recycler.internal.DummyRecyclerFactoryProvider;
 import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.message.ReusableMessageFactory;
 import org.apache.logging.log4j.message.SimpleMessage;
 import org.apache.logging.log4j.spi.MutableThreadContextStack;
 import org.apache.logging.log4j.util.StringMap;
@@ -246,7 +247,8 @@ class RingBufferLogEventTest {
         final Marker marker = MarkerManager.getMarker("marked man");
         final String fqcn = "f.q.c.n";
         final Level level = Level.TRACE;
-        final ReusableMessageFactory factory = new ReusableMessageFactory();
+        final ReusableMessageFactory factory =
+                new 
ReusableMessageFactory(DummyRecyclerFactoryProvider.INSTANCE.createForEnvironment(null));
         final Message message = factory.newMessage("Hello {}!", "World");
         try {
             final Throwable t = new InternalError("not a real error");
@@ -276,7 +278,7 @@ class RingBufferLogEventTest {
             assertThat(actual.getParameters()).isEqualTo(new String[] 
{"World"});
             assertThat(actual.getFormattedMessage()).isEqualTo("Hello World!");
         } finally {
-            ReusableMessageFactory.release(message);
+            factory.recycle(message);
         }
     }
 
@@ -289,7 +291,8 @@ class RingBufferLogEventTest {
         final Marker marker = MarkerManager.getMarker("marked man");
         final String fqcn = "f.q.c.n";
         final Level level = Level.TRACE;
-        final ReusableMessageFactory factory = new ReusableMessageFactory();
+        final ReusableMessageFactory factory =
+                new 
ReusableMessageFactory(DummyRecyclerFactoryProvider.INSTANCE.createForEnvironment(null));
         final Message message = factory.newMessage("Hello {}!", "World");
         try {
             final Throwable t = new InternalError("not a real error");
diff --git 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/TestConstants.java
 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/TestConstants.java
index 8ca8c4421f..32d7f7842c 100644
--- 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/TestConstants.java
+++ 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/TestConstants.java
@@ -91,6 +91,8 @@ public final class TestConstants {
 
     public static final String LOGGER_CONTEXT_SELECTOR = LOGGER_CONTEXT + 
"selector";
 
+    public static final String LOGGER_CONTEXT_SHUTDOWN_HOOK_ENABLED = 
LOGGER_CONTEXT + "shutdownHookEnabled";
+
     private static final String MESSAGE = "log4j.Message.";
 
     public static final String MESSAGE_FACTORY = MESSAGE + "factory";
@@ -111,9 +113,7 @@ public final class TestConstants {
 
     public static final String THREAD_CONTEXT_MAP_CLASS = THREAD_CONTEXT + 
"mapClass";
 
-    private static final String WEB = "log4j.WEB.";
-
-    public static final String WEB_IS_WEB_APP = WEB + "isWebApp";
+    public static final String WEB_IS_WEB_APP = "log4j2.isWebApp";
 
     public static @Nullable String setSystemProperty(final String key, final 
@Nullable String value) {
         final String oldValue = System.getProperty(key);
diff --git 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ShutdownCallbackRegistryTest.java
 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ShutdownCallbackRegistryTest.java
index 1939984dff..8dba435f0a 100644
--- 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ShutdownCallbackRegistryTest.java
+++ 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ShutdownCallbackRegistryTest.java
@@ -29,12 +29,15 @@ import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.impl.Log4jContextFactory;
 import org.apache.logging.log4j.core.selector.ContextSelector;
+import org.apache.logging.log4j.core.test.TestConstants;
 import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
 import org.apache.logging.log4j.core.test.junit.TestBinding;
 import org.apache.logging.log4j.plugins.Singleton;
 import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.test.junit.SetTestProperty;
 import org.junit.jupiter.api.Test;
 
+@SetTestProperty(key = TestConstants.LOGGER_CONTEXT_SHUTDOWN_HOOK_ENABLED, 
value = "true")
 @TestBinding(api = ShutdownCallbackRegistry.class, implementation = 
ShutdownCallbackRegistryTest.Registry.class)
 @LoggerContextSource
 public class ShutdownCallbackRegistryTest {
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreKeys.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreKeys.java
index 2246c19bef..1083f596e2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreKeys.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreKeys.java
@@ -156,7 +156,7 @@ public final class CoreKeys {
             @Nullable Class<? extends LoggerContextFactory> factory,
             @Nullable Class<? extends ContextSelector> selector,
             @Nullable Class<? extends ShutdownCallbackRegistry> 
shutdownCallbackRegistry,
-            @Log4jProperty(defaultValue = "true") boolean shutdownHookEnabled,
+            @Nullable Boolean shutdownHookEnabled,
             boolean stacktraceOnStart) {}
 
     @Log4jProperty
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
index 2361b6c294..5db124e5bd 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
@@ -430,9 +430,9 @@ public class Log4jContextFactory implements 
LoggerContextFactory, ShutdownCallba
     }
 
     public boolean isShutdownHookEnabled() {
-        return !Constants.IS_WEB_APP
-                && PropertyEnvironment.getGlobal()
-                        .getProperty(CoreKeys.LoggerContext.class)
-                        .shutdownHookEnabled();
+        final Boolean shutdownHookEnabled = PropertyEnvironment.getGlobal()
+                .getProperty(CoreKeys.LoggerContext.class)
+                .shutdownHookEnabled();
+        return shutdownHookEnabled != null ? shutdownHookEnabled : 
!Constants.IS_WEB_APP;
     }
 }

Reply via email to