diff --git a/CHANGES.md b/CHANGES.md index 91c2f77b69b72a6e66318b49d8e54d70ec03d83f..589d5a20131f30e808b5e236c9de68f44b25f021 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,8 +9,8 @@ Release Notes. #### Java Agent * Remove invalid mysql configuration in agent.config. -* Add net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Listener to show detail message when redefine errors occur - +* Add net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Listener to show detail message when redefine errors occur. +* Fix ClassCastException of log4j gRPC reporter. #### OAP-Backend * Allow user-defined `JAVA_OPTS` in the startup script. diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/pom.xml b/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/pom.xml index 3028977429d9b90b248091ea188b8f2564d833ec..e5f2e138753731ca6892a249c2d00c72b94fc6d6 100644 --- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/pom.xml +++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/pom.xml @@ -36,7 +36,7 @@ log4j log4j ${log4j.version} - test + provided org.apache.skywalking diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/log4j/v1/x/log/GRPCLogAppenderInterceptor.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/log4j/v1/x/log/GRPCLogAppenderInterceptor.java index c78198467c402e5a0b2f1df2a6268b67db52fc92..98c555ce0c5ff0449d4ce8879d7a1a86ab83d990 100644 --- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/log4j/v1/x/log/GRPCLogAppenderInterceptor.java +++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/log4j/v1/x/log/GRPCLogAppenderInterceptor.java @@ -35,7 +35,7 @@ import org.apache.skywalking.apm.network.logging.v3.LogDataBody; import org.apache.skywalking.apm.network.logging.v3.LogTags; import org.apache.skywalking.apm.network.logging.v3.TextLog; import org.apache.skywalking.apm.network.logging.v3.TraceContext; -import org.slf4j.event.LoggingEvent; +import org.apache.log4j.spi.LoggingEvent; public class GRPCLogAppenderInterceptor implements InstanceMethodsAroundInterceptor { @@ -103,6 +103,8 @@ public class GRPCLogAppenderInterceptor implements InstanceMethodsAroundIntercep } private String transformLogText(final LoggingEvent event) { - return event.getMessage() + "\n" + ThrowableTransformer.INSTANCE.convert2String(event.getThrowable(), 2048); + final String throwableString = Objects.isNull(event.getThrowableInformation()) ? "" : + ThrowableTransformer.INSTANCE.convert2String(event.getThrowableInformation().getThrowable(), 2048); + return event.getMessage() + "\n" + throwableString; } }