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 b764fa0075e3f63fda52afe7909957bc3507ceb8
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Fri Mar 22 16:47:34 2024 +0100

    Rebase `log4j-to-jul` upon Log4j API 2.24.0
---
 log4j-to-jul/pom.xml                                 |  7 +++++--
 .../log4j/tojul/{JULProvider.java => Activator.java} | 20 +++++++++-----------
 .../org/apache/logging/log4j/tojul/JULProvider.java  | 19 +++++++++++++++++--
 .../org/apache/logging/log4j/tojul/package-info.java |  2 +-
 4 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/log4j-to-jul/pom.xml b/log4j-to-jul/pom.xml
index dabbf5da95..92b8ec7e11 100644
--- a/log4j-to-jul/pom.xml
+++ b/log4j-to-jul/pom.xml
@@ -23,13 +23,17 @@
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
-
   <artifactId>log4j-to-jul</artifactId>
   <packaging>jar</packaging>
   <name>Apache Log4j to JUL Bridge</name>
   <description>The Apache Log4j binding between Log4j 2 API and 
java.util.logging (JUL).</description>
   <inceptionYear>2022</inceptionYear>
   <dependencies>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.framework</artifactId>
+      <scope>provided</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-api</artifactId>
@@ -55,5 +59,4 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
-
 </project>
diff --git 
a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java 
b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/Activator.java
similarity index 68%
copy from 
log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java
copy to log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/Activator.java
index 1dd41a528d..11c7c1456d 100644
--- a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java
+++ b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/Activator.java
@@ -16,17 +16,15 @@
  */
 package org.apache.logging.log4j.tojul;
 
-import aQute.bnd.annotation.spi.ServiceProvider;
-import org.apache.logging.log4j.spi.Provider;
+import org.apache.logging.log4j.util.ProviderActivator;
+import org.osgi.annotation.bundle.Header;
+import org.osgi.framework.Constants;
 
-/**
- * Bind the Log4j API to JUL.
- *
- * @author <a href="http://www.vorburger.ch";>Michael Vorburger.ch</a> for 
Google
- */
-@ServiceProvider(value = Provider.class)
-public class JULProvider extends Provider {
-    public JULProvider() {
-        super(20, "3.0.0", JULLoggerContextFactory.class, null);
+@Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}")
+@Header(name = Constants.BUNDLE_ACTIVATIONPOLICY, value = 
Constants.ACTIVATION_LAZY)
+public class Activator extends ProviderActivator {
+
+    public Activator() {
+        super(new JULProvider());
     }
 }
diff --git 
a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java 
b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java
index 1dd41a528d..0f371f43ef 100644
--- a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java
+++ b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/JULProvider.java
@@ -16,7 +16,9 @@
  */
 package org.apache.logging.log4j.tojul;
 
+import aQute.bnd.annotation.Resolution;
 import aQute.bnd.annotation.spi.ServiceProvider;
+import org.apache.logging.log4j.spi.LoggerContextFactory;
 import org.apache.logging.log4j.spi.Provider;
 
 /**
@@ -24,9 +26,22 @@ import org.apache.logging.log4j.spi.Provider;
  *
  * @author <a href="http://www.vorburger.ch";>Michael Vorburger.ch</a> for 
Google
  */
-@ServiceProvider(value = Provider.class)
+@ServiceProvider(value = Provider.class, resolution = Resolution.OPTIONAL)
 public class JULProvider extends Provider {
+    private static final LoggerContextFactory CONTEXT_FACTORY = new 
JULLoggerContextFactory();
+
     public JULProvider() {
-        super(20, "3.0.0", JULLoggerContextFactory.class, null);
+        super(20, CURRENT_VERSION);
+    }
+
+    @Override
+    public LoggerContextFactory getLoggerContextFactory() {
+        return CONTEXT_FACTORY;
+    }
+
+    @Override
+    public String getThreadContextMap() {
+        // JUL does not provide an MDC implementation
+        return NO_OP_CONTEXT_MAP;
     }
 }
diff --git 
a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/package-info.java 
b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/package-info.java
index 8e3755f4d7..aa117c7995 100644
--- 
a/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/package-info.java
+++ 
b/log4j-to-jul/src/main/java/org/apache/logging/log4j/tojul/package-info.java
@@ -21,7 +21,7 @@
  * @author <a href="http://www.vorburger.ch";>Michael Vorburger.ch</a> for 
Google
  */
 @Export
-@Version("3.0.0")
+@Version("2.24.0")
 package org.apache.logging.log4j.tojul;
 
 import org.osgi.annotation.bundle.Export;

Reply via email to