From 15b3add21b12a328c494eebdf4121152e0145e98 Mon Sep 17 00:00:00 2001 From: wusheng Date: Wed, 7 Dec 2016 16:16:05 +0800 Subject: [PATCH] add toolkit of log4j, log4j2, logback and match toolkit-activation --- skywalking-application-toolkit/pom.xml | 2 + .../log4j/v1/x/TraceIdPatternConverter.java | 2 +- .../log/log4j/v1/x/TraceIdPatternLayout.java | 2 +- .../log/log4j/v1/x/TraceIdPatternParser.java | 2 +- .../skywalking-toolkit-log4j-2.x/pom.xml | 22 +++++++++++ .../toolkit/log4j/v2/x/TraceIdConverter.java | 34 +++++++++++++++++ .../skywalking-toolkit-logback-1.x/pom.xml | 21 +++++++++++ .../logback/v1/x/LogbackPatternConverter.java | 14 +++++++ .../v1/x/TraceIdPatternLogbackLayout.java | 12 ++++++ skywalking-sniffer/skywalking-agent/pom.xml | 5 +++ .../skywalking-toolkit-activation/pom.xml | 2 + .../x/TraceIdPatternConverterActivation.java | 2 +- .../pom.xml | 15 ++++++++ .../log4j/v2/x/PrintTraceIdInterceptor.java | 30 +++++++++++++++ .../v2/x/TraceIdConverterActivation.java | 37 +++++++++++++++++++ .../src/main/resources/skywalking-plugin.def | 1 + .../pom.xml | 15 ++++++++ .../x/LogbackPatternConverterActivation.java | 37 +++++++++++++++++++ .../logback/v1/x/PrintTraceIdInterceptor.java | 27 ++++++++++++++ .../src/main/resources/skywalking-plugin.def | 1 + 20 files changed, 279 insertions(+), 4 deletions(-) rename skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/{plugin => toolkit}/log/log4j/v1/x/TraceIdPatternConverter.java (85%) rename skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/{plugin => toolkit}/log/log4j/v1/x/TraceIdPatternLayout.java (86%) rename skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/{plugin => toolkit}/log/log4j/v1/x/TraceIdPatternParser.java (89%) create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/pom.xml create mode 100644 skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/src/main/java/com/a/eye/skywalking/toolkit/log4j/v2/x/TraceIdConverter.java create mode 100644 skywalking-application-toolkit/skywalking-toolkit-logback-1.x/pom.xml create mode 100644 skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/LogbackPatternConverter.java create mode 100644 skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/TraceIdPatternLogbackLayout.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/pom.xml create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/PrintTraceIdInterceptor.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/TraceIdConverterActivation.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/resources/skywalking-plugin.def create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/pom.xml create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/LogbackPatternConverterActivation.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/PrintTraceIdInterceptor.java create mode 100644 skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/resources/skywalking-plugin.def diff --git a/skywalking-application-toolkit/pom.xml b/skywalking-application-toolkit/pom.xml index 356d967bb..55de4c703 100644 --- a/skywalking-application-toolkit/pom.xml +++ b/skywalking-application-toolkit/pom.xml @@ -15,5 +15,7 @@ skywalking-toolkit-log4j-1.x + skywalking-toolkit-log4j-2.x + skywalking-toolkit-logback-1.x 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/toolkit/log/log4j/v1/x/TraceIdPatternConverter.java similarity index 85% rename from skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternConverter.java rename to skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/toolkit/log/log4j/v1/x/TraceIdPatternConverter.java index bccbd64ed..6e60e958d 100644 --- 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/toolkit/log/log4j/v1/x/TraceIdPatternConverter.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.plugin.log.log4j.v1.x; +package com.a.eye.skywalking.toolkit.log.log4j.v1.x; import org.apache.log4j.helpers.PatternConverter; import org.apache.log4j.spi.LoggingEvent; 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/toolkit/log/log4j/v1/x/TraceIdPatternLayout.java similarity index 86% rename from skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternLayout.java rename to skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/toolkit/log/log4j/v1/x/TraceIdPatternLayout.java index 2d38762f5..806337228 100644 --- 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/toolkit/log/log4j/v1/x/TraceIdPatternLayout.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.plugin.log.log4j.v1.x; +package com.a.eye.skywalking.toolkit.log.log4j.v1.x; import org.apache.log4j.PatternLayout; 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/toolkit/log/log4j/v1/x/TraceIdPatternParser.java similarity index 89% rename from skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/plugin/log/log4j/v1/x/TraceIdPatternParser.java rename to skywalking-application-toolkit/skywalking-toolkit-log4j-1.x/src/main/java/com/a/eye/skywalking/toolkit/log/log4j/v1/x/TraceIdPatternParser.java index 58b7a083d..19c855008 100644 --- 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/toolkit/log/log4j/v1/x/TraceIdPatternParser.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.plugin.log.log4j.v1.x; +package com.a.eye.skywalking.toolkit.log.log4j.v1.x; import org.apache.log4j.helpers.PatternParser; diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/pom.xml b/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/pom.xml new file mode 100644 index 000000000..4e9a90090 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/pom.xml @@ -0,0 +1,22 @@ + + + + skywalking-application-toolkit + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-log4j-2.x + + + + org.apache.logging.log4j + log4j-core + 2.7 + compile + + + diff --git a/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/src/main/java/com/a/eye/skywalking/toolkit/log4j/v2/x/TraceIdConverter.java b/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/src/main/java/com/a/eye/skywalking/toolkit/log4j/v2/x/TraceIdConverter.java new file mode 100644 index 000000000..f01726bc0 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-log4j-2.x/src/main/java/com/a/eye/skywalking/toolkit/log4j/v2/x/TraceIdConverter.java @@ -0,0 +1,34 @@ +package com.a.eye.skywalking.toolkit.log4j.v2.x; + + +import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.config.plugins.Plugin; +import org.apache.logging.log4j.core.pattern.ConverterKeys; +import org.apache.logging.log4j.core.pattern.LogEventPatternConverter; + +/** + * Created by wusheng on 2016/12/7. + */ +@Plugin(name = "TraceIdConverter", category = "Converter") +@ConverterKeys({"tid"}) +public class TraceIdConverter extends LogEventPatternConverter { + + /** + * Constructs an instance of LoggingEventPatternConverter. + * + * @param name name of converter. + * @param style CSS style for output. + */ + protected TraceIdConverter(String name, String style) { + super(name, style); + } + + public static TraceIdConverter newInstance(String[] options) { + return new TraceIdConverter("tid", "tid"); + } + + @Override + public void format(LogEvent event, StringBuilder toAppendTo) { + toAppendTo.append("TID: N/A"); + } +} diff --git a/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/pom.xml b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/pom.xml new file mode 100644 index 000000000..0b7511667 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/pom.xml @@ -0,0 +1,21 @@ + + + + skywalking-application-toolkit + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-logback-1.x + + + + ch.qos.logback + logback-classic + 1.1.7 + + + diff --git a/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/LogbackPatternConverter.java b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/LogbackPatternConverter.java new file mode 100644 index 000000000..43c6c7a61 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/LogbackPatternConverter.java @@ -0,0 +1,14 @@ +package com.a.eye.skywalking.toolkit.logback.v1.x; + +import ch.qos.logback.classic.pattern.ClassicConverter; +import ch.qos.logback.classic.spi.ILoggingEvent; + +/** + * Created by wusheng on 2016/12/7. + */ +public class LogbackPatternConverter extends ClassicConverter { + @Override + public String convert(ILoggingEvent iLoggingEvent) { + return "TID: N/A"; + } +} diff --git a/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/TraceIdPatternLogbackLayout.java b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/TraceIdPatternLogbackLayout.java new file mode 100644 index 000000000..f2c8256d4 --- /dev/null +++ b/skywalking-application-toolkit/skywalking-toolkit-logback-1.x/src/main/java/com/a/eye/skywalking/toolkit/logback/v1/x/TraceIdPatternLogbackLayout.java @@ -0,0 +1,12 @@ +package com.a.eye.skywalking.toolkit.logback.v1.x; + +import ch.qos.logback.classic.PatternLayout; + +/** + * Created by wusheng on 2016/12/7. + */ +public class TraceIdPatternLogbackLayout extends PatternLayout { + static { + defaultConverterMap.put("tid", LogbackPatternConverter.class.getName()); + } +} diff --git a/skywalking-sniffer/skywalking-agent/pom.xml b/skywalking-sniffer/skywalking-agent/pom.xml index 67b424178..a2e8d21e1 100644 --- a/skywalking-sniffer/skywalking-agent/pom.xml +++ b/skywalking-sniffer/skywalking-agent/pom.xml @@ -64,6 +64,11 @@ skywalking-toolkit-log4j-1.x-activation ${project.version} + + com.a.eye + skywalking-toolkit-log4j-2.x-activation + ${project.version} + ${artifactId} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/pom.xml b/skywalking-sniffer/skywalking-toolkit-activation/pom.xml index 92f8471e7..da93085a9 100644 --- a/skywalking-sniffer/skywalking-toolkit-activation/pom.xml +++ b/skywalking-sniffer/skywalking-toolkit-activation/pom.xml @@ -11,6 +11,8 @@ pom skywalking-toolkit-log4j-1.x-activation + skywalking-toolkit-log4j-2.x-activation + skywalking-toolkit-logback-1.x-activation skywalking-toolkit-activation 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 index 865f68899..7014b15df 100644 --- 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 @@ -12,7 +12,7 @@ import com.a.eye.skywalking.plugin.interceptor.matcher.SimpleMethodMatcher; public class TraceIdPatternConverterActivation extends ClassInstanceMethodsEnhancePluginDefine { @Override protected String enhanceClassName() { - return "com.a.eye.skywalking.plugin.log.log4j.v1.x.TraceIdPatternConverter"; + return "com.a.eye.skywalking.toolkit.log.log4j.v1.x.TraceIdPatternConverter"; } @Override diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/pom.xml b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/pom.xml new file mode 100644 index 000000000..4cabad547 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/pom.xml @@ -0,0 +1,15 @@ + + + + skywalking-toolkit-activation + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-log4j-2.x-activation + + + diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/PrintTraceIdInterceptor.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/PrintTraceIdInterceptor.java new file mode 100644 index 000000000..3aee17f0b --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/PrintTraceIdInterceptor.java @@ -0,0 +1,30 @@ +package com.a.eye.skywalking.toolkit.activation.log4j.v2.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) { + ((StringBuilder)interceptorContext.allArguments()[1]).append("TID:" + Tracing.getTraceId()); + + //make sure origin method do not invoke. + result.defineReturnValue(null); + } + + @Override + public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) { + return ret; + } + + @Override + public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) { + + } +} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/TraceIdConverterActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/TraceIdConverterActivation.java new file mode 100644 index 000000000..233ae4f4a --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log4j/v2/x/TraceIdConverterActivation.java @@ -0,0 +1,37 @@ +package com.a.eye.skywalking.toolkit.activation.log4j.v2.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 TraceIdConverterActivation extends ClassInstanceMethodsEnhancePluginDefine { + @Override + protected String enhanceClassName() { + return "com.a.eye.skywalking.toolkit.log4j.v2.x.TraceIdConverter"; + } + + @Override + protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { + return null; + } + + @Override + protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { + return new InstanceMethodsInterceptPoint[]{new InstanceMethodsInterceptPoint() { + @Override + public MethodMatcher[] getMethodsMatchers() { + return new MethodMatcher[]{new SimpleMethodMatcher("format")}; + } + + @Override + public String getMethodsInterceptor() { + return "com.a.eye.skywalking.toolkit.activation.log4j.v2.x.PrintTraceIdInterceptor"; + } + }}; + } +} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/resources/skywalking-plugin.def b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/resources/skywalking-plugin.def new file mode 100644 index 000000000..bba23263e --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/resources/skywalking-plugin.def @@ -0,0 +1 @@ +com.a.eye.skywalking.toolkit.activation.log4j.v2.x.TraceIdConverterActivation diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/pom.xml b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/pom.xml new file mode 100644 index 000000000..d3f815723 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/pom.xml @@ -0,0 +1,15 @@ + + + + skywalking-toolkit-activation + com.a.eye + 2.0-2016 + + 4.0.0 + + skywalking-toolkit-logback-1.x-activation + + + diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/LogbackPatternConverterActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/LogbackPatternConverterActivation.java new file mode 100644 index 000000000..5caf21cd8 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/LogbackPatternConverterActivation.java @@ -0,0 +1,37 @@ +package com.a.eye.skywalking.toolkit.activation.logback.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 LogbackPatternConverterActivation extends ClassInstanceMethodsEnhancePluginDefine { + @Override + protected String enhanceClassName() { + return "com.a.eye.skywalking.toolkit.logback.v1.x.LogbackPatternConverter"; + } + + @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.logback.v1.x.PrintTraceIdInterceptor"; + } + }}; + } +} diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/PrintTraceIdInterceptor.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/PrintTraceIdInterceptor.java new file mode 100644 index 000000000..b7f28d0cd --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/logback/v1/x/PrintTraceIdInterceptor.java @@ -0,0 +1,27 @@ +package com.a.eye.skywalking.toolkit.activation.logback.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-logback-1.x-activation/src/main/resources/skywalking-plugin.def b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/resources/skywalking-plugin.def new file mode 100644 index 000000000..8262dd342 --- /dev/null +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/resources/skywalking-plugin.def @@ -0,0 +1 @@ +com.a.eye.skywalking.toolkit.activation.logback.v1.x.LogbackPatternConverterActivation -- GitLab