Skip to content

Commit 28a6b33

Browse files
committed
working
1 parent 87a4c7f commit 28a6b33

File tree

11 files changed

+53
-74
lines changed

11 files changed

+53
-74
lines changed

instrumentation/internal/internal-slf4j-bridge/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/logging/OtelLoggerBridge.java

Lines changed: 0 additions & 17 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.bootstrap.logging;
7+
8+
import io.opentelemetry.javaagent.Slf4jLogRecorder;
9+
import io.opentelemetry.javaagent.bootstrap.Slf4jBridgeLogRecorderHolder;
10+
11+
public class Slf4jBridgeInstaller {
12+
private Slf4jBridgeInstaller() {}
13+
14+
public static void installSlf4jLogger(Slf4jLogRecorder slf4JLogRecorder) {
15+
Slf4jBridgeLogRecorderHolder.initialize(slf4JLogRecorder);
16+
}
17+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
import java.util.concurrent.atomic.AtomicBoolean;
99

10-
public final class OtelLoggerFlags {
10+
public final class Slf4jBridgeInstallerFlags {
1111

12-
private OtelLoggerFlags() {}
12+
private Slf4jBridgeInstallerFlags() {}
1313

1414
public static final AtomicBoolean IS_INSTALLED = new AtomicBoolean(false);
1515
}

instrumentation/internal/internal-slf4j-bridge/javaagent/build.gradle.kts

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,4 @@ dependencies {
2424
strictly("2.0.0")
2525
}
2626
}
27-
28-
// TODO
29-
// if (latestDepTest) {
30-
// testImplementation("ch.qos.logback:logback-classic:latest.release")
31-
// } else {
32-
// testImplementation("ch.qos.logback:logback-classic") {
33-
// version {
34-
// strictly("1.2.11")
35-
// }
36-
// }
37-
// testImplementation("org.slf4j:slf4j-api") {
38-
// version {
39-
// strictly("1.7.36")
40-
// }
41-
// }
42-
// }
4327
}
44-
45-
// TODO
46-
// if (latestDepTest) {
47-
// // spring 6 requires java 17
48-
// otelJava {
49-
// minJavaVersionSupported.set(JavaVersion.VERSION_17)
50-
// }
51-
// }

instrumentation/internal/internal-slf4j-bridge/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/slf4jbridge/LoggerFactoryInstrumentation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import static net.bytebuddy.matcher.ElementMatchers.named;
99
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
1010

11-
import io.opentelemetry.javaagent.bootstrap.logging.OtelLoggerFlags;
11+
import io.opentelemetry.javaagent.bootstrap.logging.Slf4jBridgeInstallerFlags;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1414
import net.bytebuddy.asm.Advice;
@@ -35,8 +35,8 @@ public static class GetLoggerFactoryAdvice {
3535

3636
@Advice.OnMethodExit(suppress = Throwable.class)
3737
public static void onExit() {
38-
if (OtelLoggerFlags.IS_INSTALLED.compareAndSet(false, true)) {
39-
Slf4jOtelLogger.install();
38+
if (Slf4jBridgeInstallerFlags.IS_INSTALLED.compareAndSet(false, true)) {
39+
Slf4jLogRecorderImpl.install();
4040
}
4141
}
4242
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1212

1313
@AutoService(IgnoredTypesConfigurer.class)
14-
public final class OtelLoggingIgnoredTypesConfigurer implements IgnoredTypesConfigurer {
14+
public final class Slf4jBridgeIgnoredTypesConfigurer implements IgnoredTypesConfigurer {
1515

1616
@Override
1717
public void configure(IgnoredTypesBuilder builder, ConfigProperties config) {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
import java.util.List;
1414

1515
@AutoService(InstrumentationModule.class)
16-
public class OtelLoggingInstrumentationModule extends InstrumentationModule {
16+
public class Slf4jBridgeInstrumentationModule extends InstrumentationModule {
1717

18-
public OtelLoggingInstrumentationModule() {
19-
super("internal-otel-logger");
18+
public Slf4jBridgeInstrumentationModule() {
19+
super("internal-slf4j-bridge");
2020
}
2121

2222
@Override
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@
1010
import io.opentelemetry.api.logs.LoggerProvider;
1111
import io.opentelemetry.api.logs.Severity;
1212
import io.opentelemetry.context.Context;
13-
import io.opentelemetry.javaagent.OtelLogger;
13+
import io.opentelemetry.javaagent.Slf4jLogRecorder;
1414
import io.opentelemetry.javaagent.bootstrap.CallDepth;
15-
import io.opentelemetry.javaagent.bootstrap.logging.OtelLoggerBridge;
1615
import javax.annotation.Nullable;
16+
import io.opentelemetry.javaagent.bootstrap.logging.Slf4jBridgeInstaller;
1717
import org.slf4j.Logger;
1818
import org.slf4j.LoggerFactory;
1919
import org.slf4j.event.Level;
2020
import org.slf4j.spi.LoggingEventBuilder;
2121

22-
public final class Slf4jOtelLogger implements OtelLogger {
22+
public final class Slf4jLogRecorderImpl implements Slf4jLogRecorder {
2323

24-
private Slf4jOtelLogger() {}
24+
private Slf4jLogRecorderImpl() {}
2525

2626
public static void install() {
27-
OtelLoggerBridge.installSlf4jLogger(new Slf4jOtelLogger());
27+
Slf4jBridgeInstaller.installSlf4jLogger(new Slf4jLogRecorderImpl());
2828
}
2929

3030
@Override
@@ -40,14 +40,14 @@ public void record(
4040
if (callDepth.getAndIncrement() > 0) {
4141
return;
4242
}
43-
recordInternal(scopeName, eventName, bodyValue, attributes, severity);
43+
recordToSlf4j(scopeName, eventName, bodyValue, attributes, severity);
4444
} finally {
4545
callDepth.decrementAndGet();
4646
}
4747
}
4848

4949
@SuppressWarnings("CheckReturnValue")
50-
private static void recordInternal(
50+
public static void recordToSlf4j(
5151
String scopeName,
5252
@Nullable String eventName,
5353
@Nullable Value<?> bodyValue,

javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/OtelLogger.java renamed to javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/Slf4jLogRecorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import javax.annotation.Nullable;
1313

1414
@FunctionalInterface
15-
public interface OtelLogger {
15+
public interface Slf4jLogRecorder {
1616

1717
void record(
1818
Context context,

javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/OtelLoggerHolder.java renamed to javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/Slf4jBridgeLogRecorderHolder.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,32 @@
99
import io.opentelemetry.api.common.Value;
1010
import io.opentelemetry.api.logs.Severity;
1111
import io.opentelemetry.context.Context;
12-
import io.opentelemetry.javaagent.OtelLogger;
12+
import io.opentelemetry.javaagent.Slf4jLogRecorder;
1313
import java.util.concurrent.atomic.AtomicReference;
1414

15-
public final class OtelLoggerHolder {
15+
public final class Slf4jBridgeLogRecorderHolder {
1616

17-
private static final OtelLogger NOOP_OTEL_LOGGER =
17+
private static final Slf4jLogRecorder NOOP_OTEL_LOGGER =
1818
(unused, unused2, unused3, unused4, unused5, unused6) -> {};
1919

20-
private static final AtomicReference<OtelLogger> otelLogger =
20+
private static final AtomicReference<Slf4jLogRecorder> otelLogger =
2121
new AtomicReference<>(NOOP_OTEL_LOGGER);
2222

23-
public static void initialize(OtelLogger otelLogger) {
24-
if (!OtelLoggerHolder.otelLogger.compareAndSet(NOOP_OTEL_LOGGER, otelLogger)) {
25-
otelLogger.record(
23+
public static void initialize(Slf4jLogRecorder slf4JLogRecorder) {
24+
if (!Slf4jBridgeLogRecorderHolder.otelLogger.compareAndSet(NOOP_OTEL_LOGGER, slf4JLogRecorder)) {
25+
slf4JLogRecorder.record(
2626
Context.root(),
27-
OtelLogger.class.getName(),
27+
Slf4jLogRecorder.class.getName(),
2828
null,
2929
Value.of("Developer error: logging system has already been initialized once"),
3030
Attributes.empty(),
3131
Severity.WARN);
3232
}
3333
}
3434

35-
public static OtelLogger get() {
35+
public static Slf4jLogRecorder get() {
3636
return otelLogger.get();
3737
}
3838

39-
private OtelLoggerHolder() {}
39+
private Slf4jBridgeLogRecorderHolder() {}
4040
}

0 commit comments

Comments
 (0)