Skip to content

Commit a72db19

Browse files
committed
remove junit-pioneer and mock env var
1 parent 3fa987a commit a72db19

File tree

10 files changed

+112
-69
lines changed

10 files changed

+112
-69
lines changed

powertools-logging/powertools-logging-log4j/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,6 @@
117117
<artifactId>jsonassert</artifactId>
118118
<scope>test</scope>
119119
</dependency>
120-
<dependency>
121-
<groupId>org.junit-pioneer</groupId>
122-
<artifactId>junit-pioneer</artifactId>
123-
<scope>test</scope>
124-
</dependency>
125120
</dependencies>
126121

127122
<build>

powertools-logging/powertools-logging-log4j/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PowertoolsResolver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.apache.logging.log4j.layout.template.json.util.JsonWriter;
1919
import org.apache.logging.log4j.util.ReadOnlyStringMap;
2020
import software.amazon.lambda.powertools.common.internal.LambdaConstants;
21+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
2122
import software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields;
2223

2324
/**
@@ -131,7 +132,7 @@ public void resolve(LogEvent logEvent, JsonWriter jsonWriter) {
131132

132133
private static final EventResolver REGION_RESOLVER =
133134
(final LogEvent logEvent, final JsonWriter jsonWriter) ->
134-
jsonWriter.writeString(System.getenv(LambdaConstants.AWS_REGION_ENV));
135+
jsonWriter.writeString(SystemWrapper.getenv(LambdaConstants.AWS_REGION_ENV));
135136

136137
private static final EventResolver ACCOUNT_ID_RESOLVER = new EventResolver() {
137138
@Override

powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowerToolsResolverFactoryTest.java

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
import static org.apache.commons.lang3.reflect.FieldUtils.writeStaticField;
1818
import static org.assertj.core.api.Assertions.assertThat;
1919
import static org.assertj.core.api.Assertions.contentOf;
20+
import static org.mockito.Mockito.mockStatic;
2021
import static org.mockito.Mockito.when;
2122
import static org.mockito.MockitoAnnotations.openMocks;
23+
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
2224

2325
import com.amazonaws.services.lambda.runtime.Context;
2426
import java.io.File;
@@ -31,10 +33,12 @@
3133
import org.junit.jupiter.api.BeforeEach;
3234
import org.junit.jupiter.api.Order;
3335
import org.junit.jupiter.api.Test;
34-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
3536
import org.mockito.Mock;
37+
import org.mockito.MockedStatic;
3638
import org.slf4j.MDC;
3739
import software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor;
40+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
41+
import software.amazon.lambda.powertools.logging.internal.LambdaLoggingAspect;
3842
import software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled;
3943

4044
@Order(2)
@@ -56,6 +60,7 @@ void setUp() throws IllegalAccessException, IOException {
5660
} catch (NoSuchFileException e) {
5761
// file may not exist on the first launch
5862
}
63+
writeStaticField(LambdaLoggingAspect.class, "SAMPLING_RATE", null, true);
5964
}
6065

6166
@AfterEach
@@ -65,28 +70,38 @@ void cleanUp() throws IOException{
6570
}
6671

6772
@Test
68-
@SetEnvironmentVariable(key = "POWERTOOLS_LOGGER_SAMPLE_RATE", value = "0.000000001")
69-
@SetEnvironmentVariable(key = "_X_AMZN_TRACE_ID", value = "Root=1-63441c4a-abcdef012345678912345678")
70-
void shouldLogInJsonFormat() {
71-
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
72-
handler.handleRequest("Input", context);
73+
void shouldLogInJsonFormat() throws IllegalAccessException {
74+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
75+
mocked.when(() -> getenv("_X_AMZN_TRACE_ID"))
76+
.thenReturn("Root=1-63441c4a-abcdef012345678912345678");
7377

74-
File logFile = new File("target/logfile.json");
75-
assertThat(contentOf(logFile)).contains(
76-
"{\"level\":\"DEBUG\",\"message\":\"Test debug event\",\"cold_start\":true,\"function_arn\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"function_memory_size\":1024,\"function_name\":\"testFunction\",\"function_request_id\":\"RequestId\",\"function_version\":\"1\",\"sampling_rate\":1.0E-9,\"service\":\"testLog4j\",\"timestamp\":")
77-
.contains("\"xray_trace_id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
78+
writeStaticField(LambdaLoggingAspect.class, "SAMPLING_RATE", "0.000000001", true);
79+
80+
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
81+
handler.handleRequest("Input", context);
82+
83+
File logFile = new File("target/logfile.json");
84+
assertThat(contentOf(logFile)).contains(
85+
"{\"level\":\"DEBUG\",\"message\":\"Test debug event\",\"cold_start\":true,\"function_arn\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"function_memory_size\":1024,\"function_name\":\"testFunction\",\"function_request_id\":\"RequestId\",\"function_version\":\"1\",\"sampling_rate\":1.0E-9,\"service\":\"testLog4j\",\"timestamp\":")
86+
.contains("\"xray_trace_id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
87+
}
7888
}
7989

8090
@Test
81-
@SetEnvironmentVariable(key = "AWS_REGION", value = "eu-central-1")
82-
@SetEnvironmentVariable(key = "_X_AMZN_TRACE_ID", value = "Root=1-63441c4a-abcdef012345678912345678")
8391
void shouldLogInEcsFormat() {
84-
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
85-
handler.handleRequest("Input", context);
92+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
93+
mocked.when(() -> getenv("_X_AMZN_TRACE_ID"))
94+
.thenReturn("Root=1-63441c4a-abcdef012345678912345678");
95+
mocked.when(() -> getenv("AWS_REGION"))
96+
.thenReturn("eu-central-1");
8697

87-
File logFile = new File("target/ecslogfile.json");
88-
assertThat(contentOf(logFile)).contains(
89-
"\"ecs.version\":\"1.2.0\",\"log.level\":\"DEBUG\",\"message\":\"Test debug event\",\"service.name\":\"testLog4j\",\"service.version\":\"1\",\"log.logger\":\"software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled\",\"process.thread.name\":\"main\",\"cloud.provider\":\"aws\",\"cloud.service.name\":\"lambda\",\"cloud.region\":\"eu-central-1\",\"cloud.account.id\":\"012345678910\",\"faas.id\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"faas.name\":\"testFunction\",\"faas.version\":\"1\",\"faas.memory\":1024,\"faas.execution\":\"RequestId\",\"faas.coldstart\":true,\"trace.id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
98+
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
99+
handler.handleRequest("Input", context);
100+
101+
File logFile = new File("target/ecslogfile.json");
102+
assertThat(contentOf(logFile)).contains(
103+
"\"ecs.version\":\"1.2.0\",\"log.level\":\"DEBUG\",\"message\":\"Test debug event\",\"service.name\":\"testLog4j\",\"service.version\":\"1\",\"log.logger\":\"software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled\",\"process.thread.name\":\"main\",\"cloud.provider\":\"aws\",\"cloud.service.name\":\"lambda\",\"cloud.region\":\"eu-central-1\",\"cloud.account.id\":\"012345678910\",\"faas.id\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"faas.name\":\"testFunction\",\"faas.version\":\"1\",\"faas.memory\":1024,\"faas.execution\":\"RequestId\",\"faas.coldstart\":true,\"trace.id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
104+
}
90105
}
91106

92107
private void setupContext() {

powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowertoolsResolverTest.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
package org.apache.logging.log4j.layout.template.json.resolver;
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
18+
import static org.mockito.Mockito.mockStatic;
19+
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
1820
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_ARN;
1921
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_COLD_START;
2022
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_MEMORY_SIZE;
@@ -29,7 +31,8 @@
2931
import org.junit.jupiter.api.Test;
3032
import org.junit.jupiter.params.ParameterizedTest;
3133
import org.junit.jupiter.params.provider.EnumSource;
32-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
34+
import org.mockito.MockedStatic;
35+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
3336
import software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields;
3437

3538
class PowertoolsResolverTest {
@@ -68,10 +71,14 @@ void shouldResolveAccountId() {
6871
}
6972

7073
@Test
71-
@SetEnvironmentVariable(key = "AWS_REGION", value = "eu-central-2")
7274
void shouldResolveRegion() {
73-
String result = resolveField("region", "dummy, will use the env var");
74-
assertThat(result).isEqualTo("\"eu-central-2\"");
75+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
76+
mocked.when(() -> getenv("AWS_REGION"))
77+
.thenReturn("eu-central-2");
78+
79+
String result = resolveField("region", "dummy, will use the env var");
80+
assertThat(result).isEqualTo("\"eu-central-2\"");
81+
}
7582
}
7683

7784
private static String resolveField(String field, String value) {

powertools-logging/powertools-logging-log4j/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
1818
import static org.assertj.core.api.Assertions.contentOf;
19+
import static org.mockito.Mockito.mockStatic;
1920
import static org.mockito.Mockito.when;
2021
import static org.mockito.MockitoAnnotations.openMocks;
22+
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
2123

2224
import com.amazonaws.services.lambda.runtime.Context;
2325
import java.io.File;
@@ -30,9 +32,10 @@
3032
import org.junit.jupiter.api.BeforeEach;
3133
import org.junit.jupiter.api.Order;
3234
import org.junit.jupiter.api.Test;
33-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
3435
import org.mockito.Mock;
36+
import org.mockito.MockedStatic;
3537
import org.slf4j.MDC;
38+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
3639
import software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled;
3740

3841
@Order(1)
@@ -60,15 +63,19 @@ void cleanUp() throws IOException {
6063
}
6164

6265
@Test
63-
@SetEnvironmentVariable(key = "POWERTOOLS_SERVICE_NAME", value = "testLog4j")
6466
void testSlf4jBinding() {
65-
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
66-
handler.handleRequest("Input", context);
67+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
68+
mocked.when(() -> getenv("POWERTOOLS_SERVICE_NAME"))
69+
.thenReturn("testLog4j");
6770

68-
File logFile = new File("target/logfile.json");
69-
assertThat(contentOf(logFile))
70-
.contains("slf4j.binding is set to org.apache.logging.slf4j.SLF4JServiceProvider")
71-
.contains("Loading software.amazon.lambda.powertools.logging.internal.Log4jLoggingManager");
71+
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
72+
handler.handleRequest("Input", context);
73+
74+
File logFile = new File("target/logfile.json");
75+
assertThat(contentOf(logFile))
76+
.contains("slf4j.binding is set to org.apache.logging.slf4j.SLF4JServiceProvider")
77+
.contains("Loading software.amazon.lambda.powertools.logging.internal.Log4jLoggingManager");
78+
}
7279
}
7380

7481
private void setupContext() {

powertools-logging/powertools-logging-logback/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,6 @@
113113
<artifactId>jsonassert</artifactId>
114114
<scope>test</scope>
115115
</dependency>
116-
<dependency>
117-
<groupId>org.junit-pioneer</groupId>
118-
<artifactId>junit-pioneer</artifactId>
119-
<scope>test</scope>
120-
</dependency>
121116
</dependencies>
122117

123118
<build>

powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaEcsEncoderTest.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
import static org.apache.commons.lang3.reflect.FieldUtils.writeStaticField;
1818
import static org.assertj.core.api.Assertions.assertThat;
1919
import static org.assertj.core.api.Assertions.contentOf;
20+
import static org.mockito.Mockito.mockStatic;
2021
import static org.mockito.Mockito.when;
2122
import static org.mockito.MockitoAnnotations.openMocks;
23+
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
2224

2325
import ch.qos.logback.classic.Level;
2426
import ch.qos.logback.classic.Logger;
@@ -36,11 +38,12 @@
3638
import org.junit.jupiter.api.BeforeEach;
3739
import org.junit.jupiter.api.Order;
3840
import org.junit.jupiter.api.Test;
39-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
4041
import org.mockito.Mock;
42+
import org.mockito.MockedStatic;
4143
import org.slf4j.LoggerFactory;
4244
import org.slf4j.MDC;
4345
import software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor;
46+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
4447
import software.amazon.lambda.powertools.logging.LambdaEcsEncoder;
4548
import software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled;
4649

@@ -73,15 +76,20 @@ void cleanUp() throws IOException{
7376
}
7477

7578
@Test
76-
@SetEnvironmentVariable(key = "AWS_REGION", value = "eu-central-1")
77-
@SetEnvironmentVariable(key = "_X_AMZN_TRACE_ID", value = "Root=1-63441c4a-abcdef012345678912345678")
7879
void shouldLogInEcsFormat() {
79-
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
80-
handler.handleRequest("Input", context);
81-
82-
File logFile = new File("target/ecslogfile.json");
83-
assertThat(contentOf(logFile)).contains(
84-
"\"ecs.version\":\"1.2.0\",\"log.level\":\"DEBUG\",\"message\":\"Test debug event\",\"service.name\":\"testLogback\",\"service.version\":\"1\",\"log.logger\":\"software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled\",\"process.thread.name\":\"main\",\"cloud.provider\":\"aws\",\"cloud.service.name\":\"lambda\",\"cloud.region\":\"eu-west-1\",\"cloud.account.id\":\"012345678910\",\"faas.id\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"faas.name\":\"testFunction\",\"faas.version\":\"1\",\"faas.memory\":\"1024\",\"faas.execution\":\"RequestId\",\"faas.coldstart\":\"true\",\"trace.id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
80+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
81+
mocked.when(() -> getenv("_X_AMZN_TRACE_ID"))
82+
.thenReturn("Root=1-63441c4a-abcdef012345678912345678");
83+
mocked.when(() -> getenv("AWS_REGION"))
84+
.thenReturn("eu-central-1");
85+
86+
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
87+
handler.handleRequest("Input", context);
88+
89+
File logFile = new File("target/ecslogfile.json");
90+
assertThat(contentOf(logFile)).contains(
91+
"\"ecs.version\":\"1.2.0\",\"log.level\":\"DEBUG\",\"message\":\"Test debug event\",\"service.name\":\"testLogback\",\"service.version\":\"1\",\"log.logger\":\"software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled\",\"process.thread.name\":\"main\",\"cloud.provider\":\"aws\",\"cloud.service.name\":\"lambda\",\"cloud.region\":\"eu-west-1\",\"cloud.account.id\":\"012345678910\",\"faas.id\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"faas.name\":\"testFunction\",\"faas.version\":\"1\",\"faas.memory\":\"1024\",\"faas.execution\":\"RequestId\",\"faas.coldstart\":\"true\",\"trace.id\":\"1-63441c4a-abcdef012345678912345678\",\"myKey\":\"myValue\"}\n");
92+
}
8593
}
8694

8795
private final LoggingEvent loggingEvent = new LoggingEvent("fqcn", logger, Level.INFO, "message", null, null);

powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaJsonEncoderTest.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
import static org.apache.commons.lang3.reflect.FieldUtils.writeStaticField;
1818
import static org.assertj.core.api.Assertions.assertThat;
1919
import static org.assertj.core.api.Assertions.contentOf;
20+
import static org.mockito.Mockito.mockStatic;
2021
import static org.mockito.Mockito.when;
2122
import static org.mockito.MockitoAnnotations.openMocks;
23+
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
2224

2325
import ch.qos.logback.classic.Level;
2426
import ch.qos.logback.classic.Logger;
@@ -39,11 +41,12 @@
3941
import org.junit.jupiter.api.BeforeEach;
4042
import org.junit.jupiter.api.Order;
4143
import org.junit.jupiter.api.Test;
42-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
4344
import org.mockito.Mock;
45+
import org.mockito.MockedStatic;
4446
import org.slf4j.LoggerFactory;
4547
import org.slf4j.MDC;
4648
import software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor;
49+
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
4750
import software.amazon.lambda.powertools.logging.LambdaJsonEncoder;
4851
import software.amazon.lambda.powertools.logging.internal.handler.PowertoolsLogEnabled;
4952

@@ -59,6 +62,7 @@ void setUp() throws IllegalAccessException, IOException {
5962
openMocks(this);
6063
MDC.clear();
6164
writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true);
65+
writeStaticField(LambdaLoggingAspect.class, "SAMPLING_RATE", null, true);
6266
setupContext();
6367
// Make sure file is cleaned up before running tests
6468
try {
@@ -74,19 +78,23 @@ void cleanUp() throws IOException{
7478
}
7579

7680
@Test
77-
@SetEnvironmentVariable(key = "POWERTOOLS_LOGGER_SAMPLE_RATE", value = "0.000000001")
78-
@SetEnvironmentVariable(key = "_X_AMZN_TRACE_ID", value = "Root=1-63441c4a-abcdef012345678912345678")
79-
void shouldLogInJsonFormat() {
81+
void shouldLogInJsonFormat() throws IllegalAccessException {
8082
// GIVEN
81-
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
83+
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
84+
mocked.when(() -> getenv("_X_AMZN_TRACE_ID"))
85+
.thenReturn("Root=1-63441c4a-abcdef012345678912345678");
86+
writeStaticField(LambdaLoggingAspect.class, "SAMPLING_RATE", "0.000000001", true);
8287

83-
// WHEN
84-
handler.handleRequest("Input", context);
88+
PowertoolsLogEnabled handler = new PowertoolsLogEnabled();
8589

86-
// THEN
87-
File logFile = new File("target/logfile.json");
88-
assertThat(contentOf(logFile)).contains(
89-
"{\"level\":\"DEBUG\",\"message\":\"Test debug event\",\"cold_start\":true,\"function_arn\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"function_memory_size\":1024,\"function_name\":\"testFunction\",\"function_request_id\":\"RequestId\",\"function_version\":1,\"myKey\":\"myValue\",\"sampling_rate\":\"1.0E-9\",\"service\":\"testLogback\",\"xray_trace_id\":\"1-63441c4a-abcdef012345678912345678\",\"timestamp\":");
90+
// WHEN
91+
handler.handleRequest("Input", context);
92+
93+
// THEN
94+
File logFile = new File("target/logfile.json");
95+
assertThat(contentOf(logFile)).contains(
96+
"{\"level\":\"DEBUG\",\"message\":\"Test debug event\",\"cold_start\":true,\"function_arn\":\"arn:aws:lambda:eu-west-1:012345678910:function:testFunction:1\",\"function_memory_size\":1024,\"function_name\":\"testFunction\",\"function_request_id\":\"RequestId\",\"function_version\":1,\"myKey\":\"myValue\",\"sampling_rate\":\"1.0E-9\",\"service\":\"testLogback\",\"xray_trace_id\":\"1-63441c4a-abcdef012345678912345678\",\"timestamp\":");
97+
}
9098
}
9199

92100
private final LoggingEvent loggingEvent = new LoggingEvent("fqcn", logger, Level.INFO, "message", null, null);

0 commit comments

Comments
 (0)