Skip to content

Commit 1dae678

Browse files
committed
update
1 parent 941b36f commit 1dae678

File tree

3 files changed

+28
-31
lines changed

3 files changed

+28
-31
lines changed

instrumentation/logback/logback-appender-1.0/library/src/test/java/io/opentelemetry/instrumentation/logback/appender/v1_0/AbstractOpenTelemetryAppenderTest.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@
99
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1010

1111
import ch.qos.logback.classic.LoggerContext;
12+
import ch.qos.logback.core.ContextBase;
1213
import io.opentelemetry.api.common.AttributeKey;
1314
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
1415
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
1516
import io.opentelemetry.sdk.resources.Resource;
17+
import java.lang.reflect.Field;
18+
import java.lang.reflect.Method;
19+
import java.util.Map;
1620
import org.junit.jupiter.api.BeforeAll;
1721
import org.junit.jupiter.api.Test;
1822
import org.slf4j.Logger;
@@ -32,7 +36,7 @@ static void setupAll() {
3236
resource = Resource.getDefault();
3337
instrumentationScopeInfo = InstrumentationScopeInfo.create("TestLogger");
3438
// by default LoggerContext contains HOSTNAME property we clear it to start with empty context
35-
AbstractLogbackTest.resetLoggerContext();
39+
AbstractOpenTelemetryAppenderTest.resetLoggerContext();
3640
}
3741

3842
protected abstract InstrumentationExtension getTesting();
@@ -45,7 +49,7 @@ void logLoggerContext() {
4549
logger.info("log message 1");
4650
executeAfterLogsExecution();
4751
} finally {
48-
AbstractLogbackTest.resetLoggerContext();
52+
AbstractOpenTelemetryAppenderTest.resetLoggerContext();
4953
}
5054

5155
getTesting()
@@ -59,4 +63,25 @@ void logLoggerContext() {
5963
.hasAttributesSatisfying(
6064
equalTo(AttributeKey.stringKey("test-property"), "test-value")));
6165
}
66+
67+
static void resetLoggerContext() {
68+
try {
69+
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
70+
Field field = ContextBase.class.getDeclaredField("propertyMap");
71+
field.setAccessible(true);
72+
Map<?, ?> map = (Map<?, ?>) field.get(loggerContext);
73+
map.clear();
74+
75+
Method method;
76+
try {
77+
method = LoggerContext.class.getDeclaredMethod("syncRemoteView");
78+
} catch (NoSuchMethodException noSuchMethodException) {
79+
method = LoggerContext.class.getDeclaredMethod("updateLoggerContextVO");
80+
}
81+
method.setAccessible(true);
82+
method.invoke(loggerContext);
83+
} catch (Exception exception) {
84+
throw new IllegalStateException("Failed to reset logger context", exception);
85+
}
86+
}
6287
}

instrumentation/logback/logback-appender-1.0/library/src/test/java/io/opentelemetry/instrumentation/logback/appender/v1_0/LogReplayOpenTelemetryAppenderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private static void reloadLoggerConfiguration() throws Exception {
5252
URL url = LogReplayOpenTelemetryAppenderTest.class.getResource("/logback-test.xml");
5353
ContextInitializer.class.getMethod("configureByResource", URL.class).invoke(ci, url);
5454
// by default LoggerContext contains HOSTNAME property we clear it to start with empty context
55-
AbstractLogbackTest.resetLoggerContext();
55+
AbstractOpenTelemetryAppenderTest.resetLoggerContext();
5656
}
5757
}
5858

instrumentation/logback/logback-appender-1.0/testing/src/main/java/io/opentelemetry/instrumentation/logback/appender/v1_0/AbstractLogbackTest.java

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,15 @@
1414
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE;
1515
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE;
1616

17-
import ch.qos.logback.classic.LoggerContext;
18-
import ch.qos.logback.core.ContextBase;
1917
import io.opentelemetry.api.common.AttributeKey;
2018
import io.opentelemetry.api.logs.Severity;
2119
import io.opentelemetry.api.trace.SpanContext;
2220
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
2321
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
2422
import io.opentelemetry.sdk.testing.assertj.AttributeAssertion;
25-
import java.lang.reflect.Field;
26-
import java.lang.reflect.Method;
2723
import java.util.ArrayList;
2824
import java.util.Collections;
2925
import java.util.List;
30-
import java.util.Map;
3126
import java.util.stream.Stream;
3227
import org.junit.jupiter.api.AfterEach;
3328
import org.junit.jupiter.api.BeforeEach;
@@ -66,15 +61,13 @@ protected boolean expectEventName() {
6661
@BeforeEach
6762
void setUp() {
6863
testing().clearData();
69-
resetLoggerContext();
7064
beforeEachTest();
7165
}
7266

7367
@AfterEach
7468
void tearDown() {
7569
afterEachTest();
7670
testing().clearData();
77-
resetLoggerContext();
7871
}
7972

8073
private static Stream<Arguments> parameters() {
@@ -276,27 +269,6 @@ private static void performLogging(
276269
}
277270
}
278271

279-
protected static void resetLoggerContext() {
280-
try {
281-
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
282-
Field field = ContextBase.class.getDeclaredField("propertyMap");
283-
field.setAccessible(true);
284-
Map<?, ?> map = (Map<?, ?>) field.get(loggerContext);
285-
map.clear();
286-
287-
Method method;
288-
try {
289-
method = LoggerContext.class.getDeclaredMethod("syncRemoteView");
290-
} catch (NoSuchMethodException exception) {
291-
method = LoggerContext.class.getDeclaredMethod("updateLoggerContextVO");
292-
}
293-
method.setAccessible(true);
294-
method.invoke(loggerContext);
295-
} catch (Exception exception) {
296-
throw new IllegalStateException("Failed to reset logger context", exception);
297-
}
298-
}
299-
300272
@FunctionalInterface
301273
public interface OneArgLoggerMethod {
302274
void call(Logger logger, String msg, Object arg);

0 commit comments

Comments
 (0)