diff --git a/ChangeLog.md b/ChangeLog.md index 0aeb495..6510f0d 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,8 +1,16 @@ # Change Log +## 3.0.5 + +- Support SLF4J 2.0.+. + +## 3.0.4 + +- Support timestamp/date/time in nanoseconds. + ## 3.0.3 -- Support Java 17 (replaced usage of internal api to get address of direct ByteBuffer) +- Support Java 17 (replaced usage of internal api to get address of direct ByteBuffer). ## 3.0.2 diff --git a/build.gradle b/build.gradle index 402bee1..06d2079 100644 --- a/build.gradle +++ b/build.gradle @@ -137,7 +137,7 @@ project('gflog-jul') { project('gflog-slf4j') { dependencies { api project(':gflog-api') - api 'org.slf4j:slf4j-api:1.7.36' + api 'org.slf4j:slf4j-api:2.0.11' testImplementation project(':gflog-core') } } diff --git a/gflog-slf4j/src/main/java/com/epam/deltix/gflog/slf4j/Slf4jBridgeProvider.java b/gflog-slf4j/src/main/java/com/epam/deltix/gflog/slf4j/Slf4jBridgeProvider.java new file mode 100644 index 0000000..62afa85 --- /dev/null +++ b/gflog-slf4j/src/main/java/com/epam/deltix/gflog/slf4j/Slf4jBridgeProvider.java @@ -0,0 +1,43 @@ +package com.epam.deltix.gflog.slf4j; + +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 final class Slf4jBridgeProvider implements SLF4JServiceProvider { + + private static final String MAX_SUPPORTED_API_VERSION = "2.0.99"; + + private final Slf4jBridgeFactory loggerFactory = new Slf4jBridgeFactory(); + private final BasicMarkerFactory markerFactory = new BasicMarkerFactory(); + private final BasicMDCAdapter 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 MAX_SUPPORTED_API_VERSION; + } + + @Override + public void initialize() { + // lazy initialization + } + +} diff --git a/gflog-slf4j/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider b/gflog-slf4j/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider new file mode 100644 index 0000000..815cb3d --- /dev/null +++ b/gflog-slf4j/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider @@ -0,0 +1 @@ +com.epam.deltix.gflog.slf4j.Slf4jBridgeProvider \ No newline at end of file