From 105bf8b006acdc9ccb85f58013ca03e90e57c53e Mon Sep 17 00:00:00 2001
From: maximthomas <maxim.thomas@gmail.com>
Date: Sat, 02 Aug 2025 04:44:24 +0000
Subject: [PATCH] Added OpenDJServiceProvider for SLF4J 2
---
opendj-server-legacy/src/main/java/org/forgerock/opendj/slf4j/OpenDJServiceProvider.java | 67 +++++++++++++++++++++++++++++++++
opendj-server-legacy/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider | 1
2 files changed, 68 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/forgerock/opendj/slf4j/OpenDJServiceProvider.java b/opendj-server-legacy/src/main/java/org/forgerock/opendj/slf4j/OpenDJServiceProvider.java
new file mode 100644
index 0000000..6ddabe0
--- /dev/null
+++ b/opendj-server-legacy/src/main/java/org/forgerock/opendj/slf4j/OpenDJServiceProvider.java
@@ -0,0 +1,67 @@
+/*
+ * The contents of this file are subject to the terms of the Common Development and
+ * Distribution License (the License). You may not use this file except in compliance with the
+ * License.
+ *
+ * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
+ * specific language governing permission and limitations under the License.
+ *
+ * When distributing Covered Software, include this CDDL Header Notice in each file and include
+ * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
+ * Header, with the fields enclosed by brackets [] replaced by your own identifying
+ * information: "Portions Copyrighted [year] [name of copyright owner]".
+ *
+ * Copyright 2025 3A SystemS LLC
+ */
+
+package org.forgerock.opendj.slf4j;
+
+import org.opends.server.loggers.slf4j.OpenDJLoggerFactory;
+import org.slf4j.ILoggerFactory;
+import org.slf4j.IMarkerFactory;
+import org.slf4j.helpers.BasicMDCAdapter;
+import org.slf4j.helpers.BasicMarkerFactory;
+import org.slf4j.spi.MDCAdapter;
+import org.slf4j.spi.SLF4JServiceProvider;
+
+public class OpenDJServiceProvider implements SLF4JServiceProvider {
+ public static String REQUESTED_API_VERSION = "2.0.99"; // !final
+
+ // LoggerFactory expects providers to initialize markerFactory as early as possible.
+ private final IMarkerFactory markerFactory;
+ // LoggerFactory expects providers to initialize their MDCAdapter field
+ // as early as possible, preferably at construction time.
+ private final MDCAdapter mdcAdapter;
+
+ private ILoggerFactory loggerFactory;
+
+ public OpenDJServiceProvider() {
+ markerFactory = new BasicMarkerFactory();
+ mdcAdapter = new BasicMDCAdapter();
+ }
+
+ @Override
+ public ILoggerFactory getLoggerFactory() {
+ return loggerFactory;
+ }
+
+ @Override
+ public IMarkerFactory getMarkerFactory() {
+ return markerFactory;
+ }
+
+ @Override
+ public MDCAdapter getMDCAdapter() {
+ return mdcAdapter;
+ }
+
+ @Override
+ public String getRequestedApiVersion() {
+ return REQUESTED_API_VERSION;
+ }
+
+ @Override
+ public void initialize() {
+ loggerFactory = new OpenDJLoggerFactory();
+ }
+}
diff --git a/opendj-server-legacy/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider b/opendj-server-legacy/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
new file mode 100644
index 0000000..a4e286c
--- /dev/null
+++ b/opendj-server-legacy/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
@@ -0,0 +1 @@
+org.forgerock.opendj.slf4j.OpenDJServiceProvider
\ No newline at end of file
--
Gitblit v1.10.0