Skip to content

Commit 850de26

Browse files
committed
log4j-context-data
1 parent a7336cf commit 850de26

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

instrumentation/log4j/log4j-context-data/log4j-context-data-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/contextdata/v2_7/ContextDataInjectorFactoryInstrumentation.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1515
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1616
import net.bytebuddy.asm.Advice;
17+
import net.bytebuddy.asm.Advice.AssignReturned;
1718
import net.bytebuddy.description.type.TypeDescription;
18-
import net.bytebuddy.implementation.bytecode.assign.Assigner;
1919
import net.bytebuddy.matcher.ElementMatcher;
2020
import org.apache.logging.log4j.core.ContextDataInjector;
2121

@@ -39,11 +39,10 @@ public void transform(TypeTransformer transformer) {
3939
@SuppressWarnings("unused")
4040
public static class CreateInjectorAdvice {
4141

42+
@AssignReturned.ToReturned
4243
@Advice.OnMethodExit(suppress = Throwable.class)
43-
public static void onExit(
44-
@Advice.Return(typing = Assigner.Typing.DYNAMIC, readOnly = false)
45-
ContextDataInjector injector) {
46-
injector = new SpanDecoratingContextDataInjector(injector);
44+
public static ContextDataInjector onExit(@Advice.Return ContextDataInjector injector) {
45+
return new SpanDecoratingContextDataInjector(injector);
4746
}
4847
}
4948
}

instrumentation/log4j/log4j-context-data/log4j-context-data-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/contextdata/v2_7/Log4j27InstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@
1212
import com.google.auto.service.AutoService;
1313
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
15+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1516
import java.util.List;
1617
import net.bytebuddy.matcher.ElementMatcher;
1718

1819
@AutoService(InstrumentationModule.class)
19-
public class Log4j27InstrumentationModule extends InstrumentationModule {
20+
public class Log4j27InstrumentationModule extends InstrumentationModule
21+
implements ExperimentalInstrumentationModule {
2022
public Log4j27InstrumentationModule() {
2123
super("log4j-context-data", "log4j-context-data-2.7");
2224
}
@@ -40,4 +42,9 @@ public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
4042
public List<TypeInstrumentation> typeInstrumentations() {
4143
return singletonList(new ContextDataInjectorFactoryInstrumentation());
4244
}
45+
46+
@Override
47+
public boolean isIndyReady() {
48+
return true;
49+
}
4350
}

0 commit comments

Comments
 (0)