Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit 0b7eee0

Browse files
committed
Merge branch '10-support-of-slf4j-2' into 'main'
Resolve "Support of SLF4j 2" Closes #10 See merge request bot-by/slf4j-aws-lambda!10
2 parents 93e2069 + 6990ffb commit 0b7eee0

File tree

4 files changed

+91
-1
lines changed

4 files changed

+91
-1
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
<commons-text.version>1.9</commons-text.version>
101101
<!-- dependencies -->
102102
<jetbrains-annotations.version>23.0.0</jetbrains-annotations.version>
103-
<slf4j.version>1.7.36</slf4j.version>
103+
<slf4j.version>2.0.0-beta1</slf4j.version>
104104
</properties>
105105

106106
<dependencies>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package uk.bot_by.aws_lambda.slf4j;
2+
3+
import org.slf4j.ILoggerFactory;
4+
import org.slf4j.IMarkerFactory;
5+
import org.slf4j.helpers.BasicMDCAdapter;
6+
import org.slf4j.helpers.BasicMarkerFactory;
7+
import org.slf4j.spi.MDCAdapter;
8+
import org.slf4j.spi.SLF4JServiceProvider;
9+
10+
public class AWSLambdaServiceProvider implements SLF4JServiceProvider {
11+
12+
/**
13+
* Declare the version of the SLF4J API this implementation is compiled against. The value of this
14+
* field is modified with each major release.
15+
*/
16+
// to avoid constant folding by the compiler, this field must *not* be final
17+
public static String REQUESTED_API_VERSION = "2.0.99"; // !final
18+
19+
private ILoggerFactory loggerFactory;
20+
private IMarkerFactory markerFactory;
21+
private MDCAdapter contextMapAdapter;
22+
23+
@Override
24+
public ILoggerFactory getLoggerFactory() {
25+
return loggerFactory;
26+
}
27+
28+
@Override
29+
public IMarkerFactory getMarkerFactory() {
30+
return markerFactory;
31+
}
32+
33+
@Override
34+
public MDCAdapter getMDCAdapter() {
35+
return contextMapAdapter;
36+
}
37+
38+
@Override
39+
public String getRequestedApiVersion() {
40+
return REQUESTED_API_VERSION;
41+
}
42+
43+
@Override
44+
public void initialize() {
45+
loggerFactory = new LambdaLoggerFactory();
46+
markerFactory = new BasicMarkerFactory();
47+
contextMapAdapter = new BasicMDCAdapter();
48+
}
49+
50+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uk.bot_by.aws_lambda.slf4j.AWSLambdaServiceProvider
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package uk.bot_by.aws_lambda.slf4j;
2+
3+
import static org.junit.jupiter.api.Assertions.assertAll;
4+
import static org.junit.jupiter.api.Assertions.assertNotNull;
5+
import static org.junit.jupiter.api.Assertions.assertNull;
6+
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Tag;
9+
import org.junit.jupiter.api.Test;
10+
11+
@Tag("fast")
12+
class AWSLambdaServiceProviderTest {
13+
14+
private AWSLambdaServiceProvider provider;
15+
16+
@BeforeEach
17+
void setUp() {
18+
provider = new AWSLambdaServiceProvider();
19+
}
20+
21+
@Test
22+
void initialize() {
23+
// given
24+
assertAll("Before initialization",
25+
() -> assertNull(provider.getLoggerFactory(), "logger factory"),
26+
() -> assertNull(provider.getMarkerFactory(), "marker factory"),
27+
() -> assertNull(provider.getMDCAdapter(), "context map adapter"));
28+
29+
// when
30+
provider.initialize();
31+
32+
// then
33+
assertAll("After initialization",
34+
() -> assertNotNull(provider.getLoggerFactory(), "logger factory"),
35+
() -> assertNotNull(provider.getMarkerFactory(), "marker factory"),
36+
() -> assertNotNull(provider.getMDCAdapter(), "context map adapter"));
37+
}
38+
39+
}

0 commit comments

Comments
 (0)