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;
