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