From aa6683d2f49001e398d080179e6f4032fc1d31ec Mon Sep 17 00:00:00 2001 From: wusheng Date: Wed, 7 Dec 2016 15:01:23 +0800 Subject: [PATCH] #62 provide skywalking-application-toolkit and skywalking-toolkit-activation submodule, and log4j 1.x plugin to output TraceId --- pom.xml | 2 +- skywalking-application-toolkit/pom.xml | 27 ++++++++++++++ .../skywalking-toolkit-log4j-1.x/pom.xml | 23 ++++++++++++ .../log4j/v1/x/TraceIdPatternConverter.java | 15 ++++++++ .../log/log4j/v1/x/TraceIdPatternLayout.java | 15 ++++++++ .../log/log4j/v1/x/TraceIdPatternParser.java | 22 +++++++++++ skywalking-opentracing-kit/pom.xml | 11 ------ skywalking-sniffer/pom.xml | 1 + skywalking-sniffer/skywalking-agent/pom.xml | 8 ++++ .../skywalking-sdk-plugin/pom.xml | 3 +- .../skywalking-toolkit-activation/pom.xml | 25 +++++++++++++ .../pom.xml | 22 +++++++++++ .../log4j/v1/x/PrintTraceIdInterceptor.java | 27 ++++++++++++++ .../x/TraceIdPatternConverterActivation.java | 37 +++++++++++++++++++ .../src/main/resources/skywalking-plugin.def | 1 + 15 files changed, 225 insertions(+), 14 deletions(-) create mode 100644 skywalking-application-toolkit/pom.xml create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/pom.xml create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternConverter.java create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternLayout.java create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternParser.java delete mode 100644 skywalking-opentracing-kit/pom.xml create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/pom.xml create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/pom.xml create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/PrintTraceIdInterceptor.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/TraceIdPatternConverterActivation.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/resources/skywalking-plugin.def diff --git a/pom.xml b/pom.xml index 20c365378..510ec8fa4 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ skywalking-webui skywalking-sniffer skywalking-storage-center - skywalking-opentracing-kit + skywalking-application-toolkit pom diff --git a/skywalking-application-toolkit/pom.xml b/skywalking-application-toolkit/pom.xml new file mode 100644 index 000000000..a45435903 --- /dev/null +++ b/skywalking-application-toolkit/pom.xml @@ -0,0 +1,27 @@ + + + skywalking + com.a.eye + 2.0-2016 + + 4.0.0 + skywalking-application-toolkit + jar + + + 1.6 + + + + skywalking-toolkit-log4j-1.x + + + + + com.a.eye + skywalking-toolkit-log4j-1.x + ${project.version} + + + diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/pom.xml b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/pom.xml new file mode 100644 index 000000000..35a9fe189 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/pom.xml @@ -0,0 +1,23 @@ + + + + skywalking-application-toolkit + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-log4j-1.x + + + + log4j + log4j + 1.2.17 + compile + s + + + diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternConverter.java b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternConverter.java new file mode 100644 index 000000000..bccbd64ed --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternConverter.java @@ -0,0 +1,15 @@ +package com.a.eye.skywalking.plugin.log.log4j.v1.x; + +import org.apache.log4j.helpers.PatternConverter; +import org.apache.log4j.spi.LoggingEvent; + +/** + * Created by wusheng on 2016/12/7. + */ + +public class TraceIdPatternConverter extends PatternConverter { + @Override + protected String convert(LoggingEvent loggingEvent) { + return "TID: N/A"; + } +} diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternLayout.java b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternLayout.java new file mode 100644 index 000000000..2d38762f5 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternLayout.java @@ -0,0 +1,15 @@ +package com.a.eye.skywalking.plugin.log.log4j.v1.x; + + +import org.apache.log4j.PatternLayout; +import org.apache.log4j.helpers.PatternParser; + +/** + * Created by wusheng on 2016/12/7. + */ +public class TraceIdPatternLayout extends PatternLayout { + @Override + protected PatternParser createPatternParser(String pattern) { + return new TraceIdPatternParser(pattern); + } +} diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternParser.java b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternParser.java new file mode 100644 index 000000000..58b7a083d --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternParser.java @@ -0,0 +1,22 @@ +package com.a.eye.skywalking.plugin.log.log4j.v1.x; + +import org.apache.log4j.helpers.PatternParser; + +/** + * Created by wusheng on 2016/12/7. + */ + +public class TraceIdPatternParser extends PatternParser { + public TraceIdPatternParser(String pattern) { + super(pattern); + } + + @Override + protected void finalizeConverter(char c) { + if ('x' == c) { + addConverter(new TraceIdPatternConverter()); + } else { + super.finalizeConverter(c); + } + } +} diff --git a/skywalking-opentracing-kit/pom.xml b/skywalking-opentracing-kit/pom.xml deleted file mode 100644 index 151ca96aa..000000000 --- a/skywalking-opentracing-kit/pom.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - skywalking - com.a.eye - 2.0-2016 - - 4.0.0 - skywalking-opentracing-kit - jar - diff --git a/skywalking-sniffer/pom.xml b/skywalking-sniffer/pom.xml index 0a2db3b37..a7484b0bb 100644 --- a/skywalking-sniffer/pom.xml +++ b/skywalking-sniffer/pom.xml @@ -16,6 +16,7 @@ skywalking-agent skywalking-api skywalking-sdk-plugin + skywalking-toolkit-activation diff --git a/skywalking-sniffer/skywalking-agent/pom.xml b/skywalking-sniffer/skywalking-agent/pom.xml index 666c2beb0..67b424178 100644 --- a/skywalking-sniffer/skywalking-agent/pom.xml +++ b/skywalking-sniffer/skywalking-agent/pom.xml @@ -26,6 +26,7 @@ + com.a.eye skywalking-jedis-2.x-plugin @@ -56,6 +57,13 @@ motan-plugin ${project.version} + + + + com.a.eye + skywalking-toolkit-log4j-1.x-activation + ${project.version} + ${artifactId} diff --git a/skywalking-sniffer/skywalking-sdk-plugin/pom.xml b/skywalking-sniffer/skywalking-sdk-plugin/pom.xml index 0965cde9d..e47c91342 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/pom.xml +++ b/skywalking-sniffer/skywalking-sdk-plugin/pom.xml @@ -28,11 +28,10 @@ - com.a.eye skywalking-api - 2.0-2016 + ${project.version} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/pom.xml b/skywalking-sniffer/skywalking-toolkit-activation/pom.xml new file mode 100644 index 000000000..92f8471e7 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/pom.xml @@ -0,0 +1,25 @@ + + + + skywalking-sniffer + com.a.eye + 2.0-2016 + + 4.0.0 + pom + + skywalking-toolkit-log4j-1.x-activation + + + skywalking-toolkit-activation + + + + com.a.eye + skywalking-api + ${project.version} + + + diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/pom.xml b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/pom.xml new file mode 100644 index 000000000..f139d0faa --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/pom.xml @@ -0,0 +1,22 @@ + + + + skywalking-toolkit-activation + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-log4j-1.x-activation + + + + com.a.eye + skywalking-toolkit-log4j-1.x + ${project.version} + compile + + + diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/PrintTraceIdInterceptor.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/PrintTraceIdInterceptor.java new file mode 100644 index 000000000..cd0228ec0 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/PrintTraceIdInterceptor.java @@ -0,0 +1,27 @@ +package com.a.eye.skywalking.toolkit.activation.log4j.v1.x; + +import com.a.eye.skywalking.api.Tracing; +import com.a.eye.skywalking.plugin.interceptor.EnhancedClassInstanceContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodInvokeContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; +import com.a.eye.skywalking.plugin.interceptor.enhance.MethodInterceptResult; + +/** + * Created by wusheng on 2016/12/7. + */ +public class PrintTraceIdInterceptor implements InstanceMethodsAroundInterceptor { + @Override + public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { + + } + + @Override + public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) { + return "TID:" + Tracing.getTraceId(); + } + + @Override + public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) { + + } +} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/TraceIdPatternConverterActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/TraceIdPatternConverterActivation.java new file mode 100644 index 000000000..865f68899 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v1/x/TraceIdPatternConverterActivation.java @@ -0,0 +1,37 @@ +package com.a.eye.skywalking.toolkit.activation.log4j.v1.x; + +import com.a.eye.skywalking.plugin.interceptor.ConstructorInterceptPoint; +import com.a.eye.skywalking.plugin.interceptor.InstanceMethodsInterceptPoint; +import com.a.eye.skywalking.plugin.interceptor.MethodMatcher; +import com.a.eye.skywalking.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; +import com.a.eye.skywalking.plugin.interceptor.matcher.SimpleMethodMatcher; + +/** + * Created by wusheng on 2016/12/7. + */ +public class TraceIdPatternConverterActivation extends ClassInstanceMethodsEnhancePluginDefine { + @Override + protected String enhanceClassName() { + return "com.a.eye.skywalking.plugin.log.log4j.v1.x.TraceIdPatternConverter"; + } + + @Override + protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { + return null; + } + + @Override + protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { + return new InstanceMethodsInterceptPoint[]{new InstanceMethodsInterceptPoint() { + @Override + public MethodMatcher[] getMethodsMatchers() { + return new MethodMatcher[]{new SimpleMethodMatcher("convert")}; + } + + @Override + public String getMethodsInterceptor() { + return "com.a.eye.skywalking.toolkit.activation.log4j.v1.x.PrintTraceIdInterceptor"; + } + }}; + } +} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/resources/skywalking-plugin.def b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/resources/skywalking-plugin.def new file mode 100644 index 000000000..d4dd98271 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/resources/skywalking-plugin.def @@ -0,0 +1 @@ +com.a.eye.skywalking.toolkit.activation.log4j.v1.x.TraceIdPatternConverterActivation