Skip to content

Commit a7336cf

Browse files
committed
log4j-appender-1.2
1 parent 5148bdf commit a7336cf

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

instrumentation/log4j/log4j-appender-1.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/appender/v1_2/Log4jAppenderInstrumentation.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,23 @@ public void transform(TypeTransformer transformer) {
4646
public static class ForcedLogAdvice {
4747

4848
@Advice.OnMethodEnter(suppress = Throwable.class)
49-
public static void methodEnter(
49+
public static CallDepth methodEnter(
5050
@Advice.This Category logger,
5151
@Advice.Argument(0) String fqcn,
5252
@Advice.Argument(1) Priority level,
5353
@Advice.Argument(2) Object message,
54-
@Advice.Argument(3) Throwable t,
55-
@Advice.Local("otelCallDepth") CallDepth callDepth) {
54+
@Advice.Argument(3) Throwable t) {
5655
// need to track call depth across all loggers to avoid double capture when one logging
5756
// framework delegates to another
58-
callDepth = CallDepth.forClass(LoggerProvider.class);
57+
CallDepth callDepth = CallDepth.forClass(LoggerProvider.class);
5958
if (callDepth.getAndIncrement() == 0) {
6059
LogEventMapper.INSTANCE.capture(fqcn, logger, level, message, t);
6160
}
61+
return callDepth;
6262
}
6363

6464
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
65-
public static void methodExit(@Advice.Local("otelCallDepth") CallDepth callDepth) {
65+
public static void methodExit(@Advice.Enter CallDepth callDepth) {
6666
callDepth.decrementAndGet();
6767
}
6868
}

instrumentation/log4j/log4j-appender-1.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/appender/v1_2/Log4jAppenderInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class Log4jAppenderInstrumentationModule extends InstrumentationModule {
17+
public class Log4jAppenderInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
1719

1820
public Log4jAppenderInstrumentationModule() {
1921
super("log4j-appender", "log4j-appender-1.2");
@@ -23,4 +25,9 @@ public Log4jAppenderInstrumentationModule() {
2325
public List<TypeInstrumentation> typeInstrumentations() {
2426
return singletonList(new Log4jAppenderInstrumentation());
2527
}
28+
29+
@Override
30+
public boolean isIndyReady() {
31+
return true;
32+
}
2633
}

0 commit comments

Comments
 (0)