From 792cf9d1e7db825ba92e2e232f53844e7c1be8a1 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 10:21:56 +0800 Subject: [PATCH 1/7] Add test cases for skywalking-logging-impl-log4j2 module(not used right now). --- .../eye/skywalking/api/logging/api/ILog.java | 4 -- .../api/logging/api/NoopLogger.java | 9 ---- .../api/logging/api/LogManagerTest.java | 8 ---- .../api/logging/api/NoopLoggerTest.java | 1 - .../api/logging/impl/log4j2/Log4j2Logger.java | 10 ---- .../logging/impl/log4j2/Log4j2LoggerTest.java | 47 +++++++++++++++++++ .../impl/log4j2/Log4j2ResolverTest.java | 18 +++++++ 7 files changed, 65 insertions(+), 32 deletions(-) create mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java create mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java index 449b87d2d..84445dfdb 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java @@ -14,12 +14,8 @@ public interface ILog { void warn(String format, Object... arguments); - void warn(String format, Object arguments, Throwable e); - void error(String format, Throwable e); - void error(String format, Object arguments, Throwable e); - boolean isDebugEnable(); boolean isInfoEnable(); diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java index 9f28294ba..5dbb887af 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java @@ -25,20 +25,11 @@ public enum NoopLogger implements ILog { } - @Override - public void warn(String format, Object arguments, Throwable e) { - - } - @Override public void error(String format, Throwable e) { } - @Override - public void error(String format, Object argument, Throwable e) { - } - @Override public boolean isDebugEnable() { return false; diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java index 51ce2c81c..812b5660b 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java @@ -50,18 +50,10 @@ public class LogManagerTest { } - @Override public void warn(String format, Object arguments, Throwable e) { - - } - @Override public void error(String format, Throwable e) { } - @Override public void error(String format, Object arguments, Throwable e) { - - } - @Override public boolean isDebugEnable() { return false; } diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java index 7bbd3ab2f..346e9034d 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java @@ -24,6 +24,5 @@ public class NoopLoggerTest { INSTANCE.warn("Any string", new Object[0], new NullPointerException()); INSTANCE.error("Any string"); INSTANCE.error("Any string", new NullPointerException()); - INSTANCE.error("Any string", new Object[0], new NullPointerException()); } } diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java index 2fb1f5d37..b3ebe43d2 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java @@ -28,21 +28,11 @@ public class Log4j2Logger implements ILog { logger.warn(format, arguments); } - @Override - public void warn(String format, Object arguments, Throwable e) { - logger.warn(format, arguments, e); - } - @Override public void error(String message, Throwable e) { logger.error(message, e); } - @Override - public void error(String message, Object argument, Throwable e) { - logger.error(message, argument, e); - } - @Override public boolean isDebugEnable() { return logger.isDebugEnabled(); diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java new file mode 100644 index 000000000..792151ac0 --- /dev/null +++ b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java @@ -0,0 +1,47 @@ +package com.a.eye.skywalking.api.logging.impl.log4j2; + +import org.apache.logging.log4j.Logger; +import org.junit.Test; + +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +/** + * Created by wusheng on 2017/2/28. + */ +public class Log4j2LoggerTest { + @Test + public void testLogProxy(){ + Logger mockLogger = spy(Logger.class); + Log4j2Logger logger = new Log4j2Logger(mockLogger); + + logger.isDebugEnable(); + verify(mockLogger, times(1)).isDebugEnabled(); + logger.isInfoEnable(); + verify(mockLogger, times(1)).isInfoEnabled(); + logger.isWarnEnable(); + verify(mockLogger, times(1)).isWarnEnabled(); + logger.isErrorEnable(); + verify(mockLogger, times(1)).isErrorEnabled(); + + logger.debug("string"); + verify(mockLogger, times(1)).debug("string"); + logger.debug("string", "arg1", "args"); + verify(mockLogger, times(1)).debug("string", new Object[]{"arg1", "args"}); + + logger.info("string"); + verify(mockLogger, times(1)).info("string"); + logger.info("string", "arg1", "args"); + verify(mockLogger, times(1)).info("string", new Object[]{"arg1", "args"}); + + logger.warn("string", "arg1", "args"); + verify(mockLogger, times(1)).warn("string", new Object[]{"arg1", "args"}); + + logger.error("string"); + verify(mockLogger, times(1)).error("string"); + NullPointerException exception = new NullPointerException(); + logger.error("string", exception); + verify(mockLogger, times(1)).error("string", exception); + } +} diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java new file mode 100644 index 000000000..ec54f32dc --- /dev/null +++ b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java @@ -0,0 +1,18 @@ +package com.a.eye.skywalking.api.logging.impl.log4j2; + +import com.a.eye.skywalking.api.logging.api.ILog; +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class Log4j2ResolverTest { + @Test + public void testGetLogger() { + Log4j2Resolver resolver = new Log4j2Resolver(); + ILog logger = resolver.getLogger(Log4j2ResolverTest.class); + + Assert.assertTrue(logger instanceof Log4j2Logger); + } +} From acdbc5e11b348b968b9880af0f5b46c02125bc1b Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 10:50:28 +0800 Subject: [PATCH 2/7] Remove all common-log modules(useless). --- skywalking-commons/pom.xml | 1 - skywalking-commons/skywalking-logging/pom.xml | 20 ------ .../skywalking-logging-api/pom.xml | 14 ---- .../skywalking-logging-impl-log4j2/pom.xml | 32 --------- .../api/logging/impl/log4j2/Log4j2Logger.java | 70 ------------------- .../logging/impl/log4j2/Log4j2Resolver.java | 15 ---- .../logging/impl/log4j2/Log4j2LoggerTest.java | 47 ------------- .../impl/log4j2/Log4j2ResolverTest.java | 18 ----- skywalking-commons/skywalking-trace/pom.xml | 5 -- .../eye/skywalking/agent/SkyWalkingAgent.java | 4 +- skywalking-sniffer/skywalking-api/pom.xml | 6 -- .../api/conf/SnifferConfigInitializer.java | 4 +- .../api/logging/EasyLogResolver.java | 3 - .../skywalking/api/logging/EasyLogger.java | 9 +-- .../a/eye/skywalking/api/logging}/ILog.java | 4 +- .../skywalking/api/logging}/LogManager.java | 2 +- .../skywalking/api/logging}/LogResolver.java | 2 +- .../skywalking/api/logging}/NoopLogger.java | 11 ++- .../AbstractClassEnhancePluginDefine.java | 4 +- .../api/plugin/PluginBootstrap.java | 8 +-- .../api/plugin/PluginResourcesResolver.java | 4 +- .../api/plugin/TracingBootstrap.java | 4 +- .../enhance/ClassConstructorInterceptor.java | 4 +- .../enhance/ClassEnhancePluginDefine.java | 4 +- .../ClassInstanceMethodsInterceptor.java | 10 +-- .../ClassStaticMethodsInterceptor.java | 10 +-- .../DefaultClassConstructorInterceptor.java | 4 +- .../loader/InterceptorInstanceLoader.java | 4 +- .../api/logging}/LogManagerTest.java | 7 +- .../api/logging}/NoopLoggerTest.java | 4 +- .../trace/TraceContextInterceptor.java | 4 +- 31 files changed, 57 insertions(+), 281 deletions(-) delete mode 100644 skywalking-commons/skywalking-logging/pom.xml delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-api/pom.xml delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/pom.xml delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Resolver.java delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java delete mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging}/ILog.java (85%) rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging}/LogManager.java (95%) rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging}/LogResolver.java (87%) rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging}/NoopLogger.java (86%) rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging}/LogManagerTest.java (92%) rename {skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api => skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging}/NoopLoggerTest.java (87%) diff --git a/skywalking-commons/pom.xml b/skywalking-commons/pom.xml index 238f583e0..6a5ef732e 100644 --- a/skywalking-commons/pom.xml +++ b/skywalking-commons/pom.xml @@ -12,7 +12,6 @@ skywalking-trace - skywalking-logging skywalking-util diff --git a/skywalking-commons/skywalking-logging/pom.xml b/skywalking-commons/skywalking-logging/pom.xml deleted file mode 100644 index 0e836a450..000000000 --- a/skywalking-commons/skywalking-logging/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - skywalking-commons - com.a.eye - 3.0-2017 - - 4.0.0 - - skywalking-logging - pom - - skywalking-logging - http://maven.apache.org - - skywalking-logging-api - skywalking-logging-impl-log4j2 - - - diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/pom.xml b/skywalking-commons/skywalking-logging/skywalking-logging-api/pom.xml deleted file mode 100644 index dbe97fc69..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - skywalking-logging - com.a.eye - 3.0-2017 - - 4.0.0 - jar - skywalking-logging-api - - diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/pom.xml b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/pom.xml deleted file mode 100644 index 8f699e170..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - skywalking-logging - com.a.eye - 3.0-2017 - - 4.0.0 - jar - skywalking-logging-impl-log4j2 - - - - com.a.eye - skywalking-logging-api - ${project.version} - - - - org.apache.logging.log4j - log4j-api - 2.6.2 - - - org.apache.logging.log4j - log4j-core - 2.6.2 - - - diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java deleted file mode 100644 index b3ebe43d2..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Logger.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.a.eye.skywalking.api.logging.impl.log4j2; - -import com.a.eye.skywalking.api.logging.api.ILog; -import org.apache.logging.log4j.Logger; - -/** - * Created by wusheng on 2016/11/11. - */ -public class Log4j2Logger implements ILog { - private Logger logger; - - public Log4j2Logger(Logger logger) { - this.logger = logger; - } - - @Override - public void info(String message) { - logger.info(message); - } - - @Override - public void info(String message, Object... arguments) { - logger.info(message, arguments); - } - - @Override - public void warn(String format, Object... arguments) { - logger.warn(format, arguments); - } - - @Override - public void error(String message, Throwable e) { - logger.error(message, e); - } - - @Override - public boolean isDebugEnable() { - return logger.isDebugEnabled(); - } - - @Override - public boolean isInfoEnable() { - return logger.isInfoEnabled(); - } - - @Override - public boolean isWarnEnable() { - return logger.isWarnEnabled(); - } - - @Override - public boolean isErrorEnable() { - return logger.isErrorEnabled(); - } - - @Override - public void debug(String format) { - logger.debug(format); - } - - @Override - public void debug(String format, Object... arguments) { - logger.debug(format, arguments); - } - - @Override - public void error(String format) { - logger.error(format); - } -} diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Resolver.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Resolver.java deleted file mode 100644 index a2fb23d78..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/main/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2Resolver.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.a.eye.skywalking.api.logging.impl.log4j2; - -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogResolver; -import org.apache.logging.log4j.LogManager; - -/** - * Created by wusheng on 2016/11/11. - */ -public class Log4j2Resolver implements LogResolver { - @Override - public ILog getLogger(Class clazz) { - return new Log4j2Logger(LogManager.getLogger(clazz)); - } -} diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java deleted file mode 100644 index 792151ac0..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2LoggerTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.a.eye.skywalking.api.logging.impl.log4j2; - -import org.apache.logging.log4j.Logger; -import org.junit.Test; - -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -/** - * Created by wusheng on 2017/2/28. - */ -public class Log4j2LoggerTest { - @Test - public void testLogProxy(){ - Logger mockLogger = spy(Logger.class); - Log4j2Logger logger = new Log4j2Logger(mockLogger); - - logger.isDebugEnable(); - verify(mockLogger, times(1)).isDebugEnabled(); - logger.isInfoEnable(); - verify(mockLogger, times(1)).isInfoEnabled(); - logger.isWarnEnable(); - verify(mockLogger, times(1)).isWarnEnabled(); - logger.isErrorEnable(); - verify(mockLogger, times(1)).isErrorEnabled(); - - logger.debug("string"); - verify(mockLogger, times(1)).debug("string"); - logger.debug("string", "arg1", "args"); - verify(mockLogger, times(1)).debug("string", new Object[]{"arg1", "args"}); - - logger.info("string"); - verify(mockLogger, times(1)).info("string"); - logger.info("string", "arg1", "args"); - verify(mockLogger, times(1)).info("string", new Object[]{"arg1", "args"}); - - logger.warn("string", "arg1", "args"); - verify(mockLogger, times(1)).warn("string", new Object[]{"arg1", "args"}); - - logger.error("string"); - verify(mockLogger, times(1)).error("string"); - NullPointerException exception = new NullPointerException(); - logger.error("string", exception); - verify(mockLogger, times(1)).error("string", exception); - } -} diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java deleted file mode 100644 index ec54f32dc..000000000 --- a/skywalking-commons/skywalking-logging/skywalking-logging-impl-log4j2/src/test/java/com/a/eye/skywalking/api/logging/impl/log4j2/Log4j2ResolverTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.a.eye.skywalking.api.logging.impl.log4j2; - -import com.a.eye.skywalking.api.logging.api.ILog; -import org.junit.Assert; -import org.junit.Test; - -/** - * Created by wusheng on 2017/2/28. - */ -public class Log4j2ResolverTest { - @Test - public void testGetLogger() { - Log4j2Resolver resolver = new Log4j2Resolver(); - ILog logger = resolver.getLogger(Log4j2ResolverTest.class); - - Assert.assertTrue(logger instanceof Log4j2Logger); - } -} diff --git a/skywalking-commons/skywalking-trace/pom.xml b/skywalking-commons/skywalking-trace/pom.xml index b0a8b6e6e..553f1e934 100644 --- a/skywalking-commons/skywalking-trace/pom.xml +++ b/skywalking-commons/skywalking-trace/pom.xml @@ -12,11 +12,6 @@ skywalking-trace - - com.a.eye - skywalking-logging-api - ${project.version} - com.a.eye skywalking-util diff --git a/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java b/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java index 21226d285..6a8df9340 100644 --- a/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java +++ b/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java @@ -4,8 +4,8 @@ import com.a.eye.skywalking.agent.junction.SkyWalkingEnhanceMatcher; import com.a.eye.skywalking.api.conf.Config; import com.a.eye.skywalking.api.conf.SnifferConfigInitializer; import com.a.eye.skywalking.api.logging.EasyLogResolver; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.AbstractClassEnhancePluginDefine; import com.a.eye.skywalking.api.plugin.PluginBootstrap; import com.a.eye.skywalking.api.plugin.PluginFinder; diff --git a/skywalking-sniffer/skywalking-api/pom.xml b/skywalking-sniffer/skywalking-api/pom.xml index 615db5f4f..943a1f8a5 100644 --- a/skywalking-sniffer/skywalking-api/pom.xml +++ b/skywalking-sniffer/skywalking-api/pom.xml @@ -20,7 +20,6 @@ - net.bytebuddy byte-buddy @@ -36,11 +35,6 @@ disruptor 3.3.6 - - com.a.eye - skywalking-logging-api - ${project.version} - diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java index 4faa1b64e..1a267fa78 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.conf; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.util.ConfigInitializer; import com.a.eye.skywalking.api.util.StringUtil; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogResolver.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogResolver.java index 3f9103b72..31f33e38d 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogResolver.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogResolver.java @@ -1,8 +1,5 @@ package com.a.eye.skywalking.api.logging; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogResolver; - /** * Created by wusheng on 2016/11/26. */ diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java index 286366f4c..e449fbf0a 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java @@ -1,8 +1,6 @@ package com.a.eye.skywalking.api.logging; -import com.a.eye.skywalking.api.logging.api.ILog; - import com.a.eye.skywalking.api.util.LoggingUtil; import java.net.URLEncoder; import java.text.SimpleDateFormat; @@ -76,18 +74,13 @@ public class EasyLogger implements ILog { logger(WARN, replaceParam(format, arguments), null); } - @Override - public void warn(String format, Object arguments, Throwable e) { - logger(WARN, replaceParam(format, arguments), e); - } - @Override public void error(String format, Throwable e) { logger(ERROR, format, e); } @Override - public void error(String format, Object arguments, Throwable e) { + public void error(Throwable e, String format, Object... arguments) { logger(ERROR, replaceParam(format, arguments), e); } diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ILog.java similarity index 85% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java rename to skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ILog.java index 84445dfdb..a7de245d5 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/ILog.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ILog.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; /** * The Log interface. @@ -16,6 +16,8 @@ public interface ILog { void error(String format, Throwable e); + void error(Throwable e, String format, Object... arguments); + boolean isDebugEnable(); boolean isInfoEnable(); diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogManager.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogManager.java similarity index 95% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogManager.java rename to skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogManager.java index ade1abca8..e290ac040 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogManager.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogManager.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; /** * LogManager is the {@link LogResolver} implementation manager. diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogResolver.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogResolver.java similarity index 87% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogResolver.java rename to skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogResolver.java index c311e3354..3c751c6ef 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/LogResolver.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/LogResolver.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; /** * {@link LogResolver} just do only one thing: return the {@link ILog} implementation. diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/NoopLogger.java similarity index 86% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java rename to skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/NoopLogger.java index 5dbb887af..be261815e 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/NoopLogger.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; /** @@ -8,7 +8,9 @@ package com.a.eye.skywalking.api.logging.api; * Created by xin on 2016/11/10. */ public enum NoopLogger implements ILog { - INSTANCE; + INSTANCE { + + }; @Override public void info(String message) { @@ -64,4 +66,9 @@ public enum NoopLogger implements ILog { public void error(String format) { } + + @Override + public void error(Throwable e, String format, Object... arguments) { + + } } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/AbstractClassEnhancePluginDefine.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/AbstractClassEnhancePluginDefine.java index 611544a1e..dda08f385 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/AbstractClassEnhancePluginDefine.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/AbstractClassEnhancePluginDefine.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.enhance.ClassEnhancePluginDefine; import com.a.eye.skywalking.api.util.StringUtil; import net.bytebuddy.dynamic.DynamicType; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginBootstrap.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginBootstrap.java index 168c2409d..67ed10029 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginBootstrap.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginBootstrap.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import net.bytebuddy.pool.TypePool; import java.net.URL; @@ -37,7 +37,7 @@ public class PluginBootstrap { try { PluginCfg.INSTANCE.load(pluginUrl.openStream()); } catch (Throwable t) { - logger.error("plugin [{}] init failure.", new Object[] {pluginUrl}, t); + logger.error(t, "plugin [{}] init failure.", pluginUrl); } } @@ -52,7 +52,7 @@ public class PluginBootstrap { plugin.setClassTypePool(classTypePool); plugins.add(plugin); } catch (Throwable t) { - logger.error("loade plugin [{}] failure.", new Object[] {pluginClassName}, t); + logger.error(t, "loade plugin [{}] failure.", pluginClassName); } } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginResourcesResolver.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginResourcesResolver.java index 415014db2..d5e871436 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginResourcesResolver.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/PluginResourcesResolver.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import java.io.IOException; import java.net.URL; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/TracingBootstrap.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/TracingBootstrap.java index 0aebaa931..d886ec395 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/TracingBootstrap.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/TracingBootstrap.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import net.bytebuddy.ByteBuddy; import net.bytebuddy.dynamic.ClassFileLocator; import net.bytebuddy.dynamic.DynamicType; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassConstructorInterceptor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassConstructorInterceptor.java index 0c4473851..c5dd3e8ec 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassConstructorInterceptor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassConstructorInterceptor.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.enhance; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.loader.InterceptorInstanceLoader; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; import net.bytebuddy.implementation.bind.annotation.AllArguments; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassEnhancePluginDefine.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassEnhancePluginDefine.java index 4dfd7709e..79336c34f 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassEnhancePluginDefine.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassEnhancePluginDefine.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.enhance; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.AbstractClassEnhancePluginDefine; import com.a.eye.skywalking.api.plugin.PluginException; import com.a.eye.skywalking.api.plugin.interceptor.ConstructorInterceptPoint; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassInstanceMethodsInterceptor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassInstanceMethodsInterceptor.java index 0def0d564..e0e17414c 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassInstanceMethodsInterceptor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassInstanceMethodsInterceptor.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.enhance; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.loader.InterceptorInstanceLoader; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; import net.bytebuddy.implementation.bind.annotation.*; @@ -55,7 +55,7 @@ public class ClassInstanceMethodsInterceptor { try { interceptor.beforeMethod(instanceContext, interceptorContext, result); } catch (Throwable t) { - logger.error("class[{}] before method[{}] intercept failue:{}", new Object[] {obj.getClass(), method.getName(), t.getMessage()}, t); + logger.error(t,"class[{}] before method[{}] intercept failure", obj.getClass(), method.getName()); } Object ret = null; @@ -69,14 +69,14 @@ public class ClassInstanceMethodsInterceptor { try { interceptor.handleMethodException(t, instanceContext, interceptorContext); } catch (Throwable t2) { - logger.error("class[{}] handle method[{}] exception failue:{}", new Object[] {obj.getClass(), method.getName(), t2.getMessage()}, t2); + logger.error(t2, "class[{}] handle method[{}] exception failure", obj.getClass(), method.getName()); } throw t; } finally { try { ret = interceptor.afterMethod(instanceContext, interceptorContext, ret); } catch (Throwable t) { - logger.error("class[{}] after method[{}] intercept failue:{}", new Object[] {obj.getClass(), method.getName(), t.getMessage()}, t); + logger.error(t, "class[{}] after method[{}] intercept failure", obj.getClass(), method.getName()); } } return ret; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassStaticMethodsInterceptor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassStaticMethodsInterceptor.java index 86b472308..0c2d01f17 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassStaticMethodsInterceptor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/ClassStaticMethodsInterceptor.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.enhance; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.loader.InterceptorInstanceLoader; import net.bytebuddy.implementation.bind.annotation.AllArguments; import net.bytebuddy.implementation.bind.annotation.Origin; @@ -55,7 +55,7 @@ public class ClassStaticMethodsInterceptor { try { interceptor.beforeMethod(interceptorContext, result); } catch (Throwable t) { - logger.error("class[{}] before static method[{}] intercept failue:{}", new Object[] {clazz, method.getName(), t.getMessage()}, t); + logger.error(t, "class[{}] before static method[{}] intercept failure", clazz, method.getName()); } @@ -70,14 +70,14 @@ public class ClassStaticMethodsInterceptor { try { interceptor.handleMethodException(t, interceptorContext); } catch (Throwable t2) { - logger.error("class[{}] handle static method[{}] exception failue:{}", new Object[] {clazz, method.getName(), t2.getMessage()}, t2); + logger.error(t2, "class[{}] handle static method[{}] exception failure", clazz, method.getName(), t2.getMessage()); } throw t; } finally { try { ret = interceptor.afterMethod(interceptorContext, ret); } catch (Throwable t) { - logger.error("class[{}] after static method[{}] intercept failue:{}", new Object[] {clazz, method.getName(), t.getMessage()}, t); + logger.error(t,"class[{}] after static method[{}] intercept failure:{}", clazz, method.getName(), t.getMessage()); } } return ret; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java index 5de84f0d2..9f240a98f 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.enhance; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; import net.bytebuddy.implementation.bind.annotation.AllArguments; import net.bytebuddy.implementation.bind.annotation.FieldProxy; diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/loader/InterceptorInstanceLoader.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/loader/InterceptorInstanceLoader.java index 26bedd0b2..9cfc7d050 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/loader/InterceptorInstanceLoader.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/interceptor/loader/InterceptorInstanceLoader.java @@ -1,7 +1,7 @@ package com.a.eye.skywalking.api.plugin.interceptor.loader; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/LogManagerTest.java similarity index 92% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java rename to skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/LogManagerTest.java index 812b5660b..7a44a3215 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/LogManagerTest.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; import org.junit.After; import org.junit.Assert; @@ -54,6 +54,10 @@ public class LogManagerTest { } + @Override public void error(Throwable e, String format, Object... arguments) { + + } + @Override public boolean isDebugEnable() { return false; } @@ -83,3 +87,4 @@ public class LogManagerTest { } } } + diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/NoopLoggerTest.java similarity index 87% rename from skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java rename to skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/NoopLoggerTest.java index 346e9034d..7aafebb55 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/NoopLoggerTest.java @@ -1,9 +1,9 @@ -package com.a.eye.skywalking.api.logging.api; +package com.a.eye.skywalking.api.logging; import org.junit.Assert; import org.junit.Test; -import static com.a.eye.skywalking.api.logging.api.NoopLogger.INSTANCE; +import static com.a.eye.skywalking.api.logging.NoopLogger.INSTANCE; /** * Created by wusheng on 2017/2/27. diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-trace-context-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/trace/TraceContextInterceptor.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-trace-context-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/trace/TraceContextInterceptor.java index 4ab6b4ecf..d7f8a57c6 100644 --- a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-trace-context-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/trace/TraceContextInterceptor.java +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-trace-context-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/trace/TraceContextInterceptor.java @@ -2,8 +2,8 @@ package com.a.eye.skywalking.toolkit.activation.trace; import com.a.eye.skywalking.api.context.ContextCarrier; import com.a.eye.skywalking.api.context.ContextManager; -import com.a.eye.skywalking.api.logging.api.ILog; -import com.a.eye.skywalking.api.logging.api.LogManager; +import com.a.eye.skywalking.api.logging.ILog; +import com.a.eye.skywalking.api.logging.LogManager; import com.a.eye.skywalking.api.plugin.interceptor.enhance.MethodInterceptResult; import com.a.eye.skywalking.api.plugin.interceptor.enhance.MethodInvokeContext; import com.a.eye.skywalking.api.plugin.interceptor.enhance.StaticMethodInvokeContext; From a5f2aa1f4714741e2cb1e701059698ab570cd5b2 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 11:43:12 +0800 Subject: [PATCH 3/7] Add test case for ArgumentTypeNameMatch.java --- .../bytebuddy/ArgumentTypeNameMatch.java | 6 ++- .../bytebuddy/ArgumentTypeNameMatchTest.java | 39 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatchTest.java diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatch.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatch.java index 6d8c8c6af..018de2136 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatch.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatch.java @@ -1,6 +1,7 @@ package com.a.eye.skywalking.api.plugin.bytebuddy; import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.method.ParameterList; import net.bytebuddy.matcher.ElementMatcher; /** @@ -39,8 +40,9 @@ public class ArgumentTypeNameMatch implements ElementMatcher */ @Override public boolean matches(MethodDescription target) { - if (target.getParameters().size() > index) { - return target.getParameters().get(index).getType().asErasure().getName().equals(argumentTypeName); + ParameterList parameters = target.getParameters(); + if (parameters.size() > index) { + return parameters.get(index).getType().asErasure().getName().equals(argumentTypeName); } return false; diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatchTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatchTest.java new file mode 100644 index 000000000..8721ae449 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/ArgumentTypeNameMatchTest.java @@ -0,0 +1,39 @@ +package com.a.eye.skywalking.api.plugin.bytebuddy; + +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.method.ParameterDescription; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.mockito.Mockito.when; + +/** + * @author wusheng + */ +public class ArgumentTypeNameMatchTest { + @Test + public void testMatches() throws IllegalAccessException { + MethodDescription methodDescription = Mockito.mock(MethodDescription.class, Mockito.RETURNS_DEEP_STUBS); + ParameterDescription parameterDescription = Mockito.mock(ParameterDescription.class, Mockito.RETURNS_DEEP_STUBS); + when(methodDescription.getParameters().get(0)).thenReturn(parameterDescription); + when(methodDescription.getParameters().size()).thenReturn(1); + when(parameterDescription.getType().asErasure().getName()).thenReturn("com.a.eye.TestClass"); + + ArgumentTypeNameMatch matcher = ((ArgumentTypeNameMatch)ArgumentTypeNameMatch.takesArgumentWithType(0, "com.a.eye.TestClass")); + Assert.assertTrue(matcher.matches(methodDescription)); + + ArgumentTypeNameMatch matcher2 = ((ArgumentTypeNameMatch)ArgumentTypeNameMatch.takesArgumentWithType(0, "com.a.eye.TestClass2")); + Assert.assertFalse(matcher2.matches(methodDescription)); + } + + @Test + public void testMatchesWithNoParameters(){ + MethodDescription methodDescription = Mockito.mock(MethodDescription.class, Mockito.RETURNS_DEEP_STUBS); + ParameterDescription parameterDescription = Mockito.mock(ParameterDescription.class, Mockito.RETURNS_DEEP_STUBS); + when(methodDescription.getParameters().size()).thenReturn(0); + + ArgumentTypeNameMatch matcher2 = ((ArgumentTypeNameMatch)ArgumentTypeNameMatch.takesArgumentWithType(0, "com.a.eye.TestClass")); + Assert.assertFalse(matcher2.matches(methodDescription)); + } +} From 6e2ccfabcdc8b203ca1b923849d9231d008ef1dd Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 15:07:54 +0800 Subject: [PATCH 4/7] Add a test case about System.out/err. --- pom.xml | 1 + .../skywalking/api/logging/EasyLogger.java | 3 +- .../api/logging/SyncFileWriter.java | 7 ++- .../ThrowableFormatter.java} | 6 +-- .../api/logging/STDOutWriterTest.java | 52 +++++++++++++++++++ .../api/logging/ThrowableFormatterTest.java | 18 +++++++ .../AllObjectDefaultMethodsMatchTest.java | 12 +++++ 7 files changed, 90 insertions(+), 9 deletions(-) rename skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/{util/LoggingUtil.java => logging/ThrowableFormatter.java} (80%) create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/STDOutWriterTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/ThrowableFormatterTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/AllObjectDefaultMethodsMatchTest.java diff --git a/pom.xml b/pom.xml index 7f544d500..27c504924 100644 --- a/pom.xml +++ b/pom.xml @@ -155,6 +155,7 @@ com/a/eye/skywalking/trace/proto/*.class + com/a/eye/skywalking/sniffer/mock/**/*.class diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java index e449fbf0a..ac8ee73b8 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/EasyLogger.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.api.logging; -import com.a.eye.skywalking.api.util.LoggingUtil; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Date; @@ -32,7 +31,7 @@ public class EasyLogger implements ILog { } if (e != null) { - WriterFactory.getLogWriter().writeError(LoggingUtil.fetchThrowableStack(e)); + WriterFactory.getLogWriter().writeError(ThrowableFormatter.format(e)); } } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/SyncFileWriter.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/SyncFileWriter.java index 579e098ba..99d081143 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/SyncFileWriter.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/SyncFileWriter.java @@ -3,7 +3,6 @@ package com.a.eye.skywalking.api.logging; import com.a.eye.skywalking.api.conf.Config; -import com.a.eye.skywalking.api.util.LoggingUtil; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -97,15 +96,15 @@ public class SyncFileWriter implements IWriter { try { File file = new File(Config.Logging.LOG_DIR_NAME, Config.Logging.SYSTEM_ERROR_LOG_FILE_NAME); fileOutputStream = new FileOutputStream(file, true); - fileOutputStream.write(("Failed to init sync File Writer.\n" + LoggingUtil.fetchThrowableStack(e)).getBytes()); + fileOutputStream.write(("Failed to init sync File Writer.\n" + ThrowableFormatter.format(e)).getBytes()); } catch (Exception e1) { - System.err.print(LoggingUtil.fetchThrowableStack(e1)); + System.err.print(ThrowableFormatter.format(e1)); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e1) { - System.err.print(LoggingUtil.fetchThrowableStack(e1)); + System.err.print(ThrowableFormatter.format(e1)); } } } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/util/LoggingUtil.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ThrowableFormatter.java similarity index 80% rename from skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/util/LoggingUtil.java rename to skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ThrowableFormatter.java index dbfc3102c..429e63d49 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/util/LoggingUtil.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/ThrowableFormatter.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.api.util; +package com.a.eye.skywalking.api.logging; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -6,8 +6,8 @@ import java.io.IOException; /** * Created by xin on 16-6-24. */ -public class LoggingUtil { - public static String fetchThrowableStack(Throwable e) { +public class ThrowableFormatter { + public static String format(Throwable e) { ByteArrayOutputStream buf = new ByteArrayOutputStream(); e.printStackTrace(new java.io.PrintWriter(buf, true)); String expMessage = buf.toString(); diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/STDOutWriterTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/STDOutWriterTest.java new file mode 100644 index 000000000..31a5c2a54 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/STDOutWriterTest.java @@ -0,0 +1,52 @@ +package com.a.eye.skywalking.api.logging; + +import java.io.PrintStream; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.times; + +/** + * Created by wusheng on 2017/2/28. + */ +public class STDOutWriterTest { + private static PrintStream outRef; + private static PrintStream errRef; + + @BeforeClass + public static void initAndHoldOut(){ + outRef = System.out; + errRef = System.err; + } + + @Test + public void testWrite(){ + PrintStream mockStream = Mockito.mock(PrintStream.class); + System.setOut(mockStream); + + STDOutWriter writer = new STDOutWriter(); + writer.write("hello"); + + Mockito.verify(mockStream,times(1)).println(anyString()); + } + + @Test + public void testWriteError(){ + PrintStream mockStream = Mockito.mock(PrintStream.class); + System.setErr(mockStream); + + STDOutWriter writer = new STDOutWriter(); + writer.writeError("hello"); + + Mockito.verify(mockStream,times(1)).println(anyString()); + } + + @AfterClass + public static void reset(){ + System.setOut(outRef); + System.setErr(errRef); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/ThrowableFormatterTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/ThrowableFormatterTest.java new file mode 100644 index 000000000..048b2ae5f --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/ThrowableFormatterTest.java @@ -0,0 +1,18 @@ +package com.a.eye.skywalking.api.logging; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class ThrowableFormatterTest { + @Test + public void testFormat(){ + NullPointerException exception = new NullPointerException(); + String formatLines = ThrowableFormatter.format(exception); + String[] lines = formatLines.split("\n"); + Assert.assertEquals("java.lang.NullPointerException", lines[0]); + Assert.assertEquals("\tat com.a.eye.skywalking.api.logging.ThrowableFormatterTest.testFormat(ThrowableFormatterTest.java:12)", lines[1]); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/AllObjectDefaultMethodsMatchTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/AllObjectDefaultMethodsMatchTest.java new file mode 100644 index 000000000..091190871 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/plugin/bytebuddy/AllObjectDefaultMethodsMatchTest.java @@ -0,0 +1,12 @@ +package com.a.eye.skywalking.api.plugin.bytebuddy; + +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class AllObjectDefaultMethodsMatchTest { + @Test + public void testMatches(){ + } +} From 6deb4bb8379645a08c3caa5e39d4043337268aa4 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 15:30:19 +0800 Subject: [PATCH 5/7] Alter the TraceSegement build mechanism in sniffer-mock module. --- .../trace/builders/span/SpanGeneration.java | 29 +++++++ .../builders/span/TomcatSpanGenerator.java | 84 +++++++++++-------- .../trace/SingleTomcat200TraceBuilder.java | 2 +- .../trace/SingleTomcat404TraceBuilder.java | 2 +- .../trace/SingleTomcat500TraceBuilder.java | 2 +- 5 files changed, 80 insertions(+), 39 deletions(-) create mode 100644 skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/SpanGeneration.java diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/SpanGeneration.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/SpanGeneration.java new file mode 100644 index 000000000..099c7469b --- /dev/null +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/SpanGeneration.java @@ -0,0 +1,29 @@ +package com.a.eye.skywalking.sniffer.mock.trace.builders.span; + +/** + * Created by wusheng on 2017/2/28. + */ +public abstract class SpanGeneration { + private SpanGeneration next; + + public SpanGeneration build(SpanGeneration next){ + this.next = next; + return next; + } + + public SpanGeneration build(){ + return this; + } + + protected abstract void before(); + + protected abstract void after(); + + public void generate(){ + this.before(); + if(next != null){ + next.generate(); + } + this.after(); + } +} diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java index c9096cf26..78b69ed56 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java @@ -9,45 +9,57 @@ import com.a.eye.skywalking.trace.tag.Tags; * * Created by wusheng on 2017/2/20. */ -public enum TomcatSpanGenerator { - INSTANCE; +public class TomcatSpanGenerator{ + public static class ON200 extends SpanGeneration{ + public static final ON200 INSTANCE = new ON200(); - /** - * When tomcat response 200. - */ - public void on200(){ - Span webSpan = ContextManager.INSTANCE.createSpan("/web/serviceA"); - Tags.COMPONENT.set(webSpan, "tomcat"); - Tags.URL.set(webSpan, "http://10.21.9.35/web/serviceA"); - Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); - Tags.STATUS_CODE.set(webSpan, 200); - ContextManager.INSTANCE.stopSpan(webSpan); + @Override protected void before() { + Span webSpan = ContextManager.INSTANCE.createSpan("/web/serviceA"); + Tags.COMPONENT.set(webSpan, "tomcat"); + Tags.URL.set(webSpan, "http://10.21.9.35/web/serviceA"); + Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); + } + + @Override protected void after() { + Span webSpan = ContextManager.INSTANCE.activeSpan(); + Tags.STATUS_CODE.set(webSpan, 200); + ContextManager.INSTANCE.stopSpan(); + } } - /** - * When tomcat response 404. - */ - public void on404(){ - Span webSpan = ContextManager.INSTANCE.createSpan("/web/service/unknown"); - Tags.COMPONENT.set(webSpan, "tomcat"); - Tags.URL.set(webSpan, "http://10.21.9.35/web/unknown"); - Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); - Tags.STATUS_CODE.set(webSpan, 404); - Tags.ERROR.set(webSpan,true); - ContextManager.INSTANCE.stopSpan(webSpan); - } + public static class ON404 extends SpanGeneration{ + public static final ON404 INSTANCE = new ON404(); - /** - * When tomcat response 500. - */ - public void on500(){ - Span webSpan = ContextManager.INSTANCE.createSpan("/web/error/service"); - Tags.COMPONENT.set(webSpan, "tomcat"); - Tags.URL.set(webSpan, "http://10.21.9.35/web/error/service"); - Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); - Tags.STATUS_CODE.set(webSpan, 500); - Tags.ERROR.set(webSpan,true); - webSpan.log(new NumberFormatException("Can't convert 'abc' to int.")); - ContextManager.INSTANCE.stopSpan(webSpan); + @Override protected void before() { + Span webSpan = ContextManager.INSTANCE.createSpan("/web/service/unknown"); + Tags.COMPONENT.set(webSpan, "tomcat"); + Tags.URL.set(webSpan, "http://10.21.9.35/web/unknown"); + Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); + } + + @Override protected void after() { + Span webSpan = ContextManager.INSTANCE.activeSpan(); + Tags.STATUS_CODE.set(webSpan, 404); + Tags.ERROR.set(webSpan,true); + ContextManager.INSTANCE.stopSpan(); + } + } + public static class ON500 extends SpanGeneration{ + public static final ON500 INSTANCE = new ON500(); + + @Override protected void before() { + Span webSpan = ContextManager.INSTANCE.createSpan("/web/error/service"); + Tags.COMPONENT.set(webSpan, "tomcat"); + Tags.URL.set(webSpan, "http://10.21.9.35/web/error/service"); + Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER); + } + + @Override protected void after() { + Span webSpan = ContextManager.INSTANCE.activeSpan(); + Tags.STATUS_CODE.set(webSpan, 500); + Tags.ERROR.set(webSpan,true); + webSpan.log(new NumberFormatException("Can't convert 'abc' to int.")); + ContextManager.INSTANCE.stopSpan(); + } } } diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat200TraceBuilder.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat200TraceBuilder.java index 5812b24de..5b827f701 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat200TraceBuilder.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat200TraceBuilder.java @@ -14,7 +14,7 @@ public enum SingleTomcat200TraceBuilder implements TraceSegmentBuilder { INSTANCE; @Override public TraceSegment build(MockTracerContextListener listener) { - TomcatSpanGenerator.INSTANCE.on200(); + TomcatSpanGenerator.ON200.INSTANCE.build().generate(); return listener.getFinished(0); } } diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat404TraceBuilder.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat404TraceBuilder.java index 7ec32e46e..6000fb1b6 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat404TraceBuilder.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat404TraceBuilder.java @@ -14,7 +14,7 @@ public enum SingleTomcat404TraceBuilder implements TraceSegmentBuilder { INSTANCE; @Override public TraceSegment build(MockTracerContextListener listener) { - TomcatSpanGenerator.INSTANCE.on404(); + TomcatSpanGenerator.ON404.INSTANCE.build().generate(); return listener.getFinished(0); } } diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat500TraceBuilder.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat500TraceBuilder.java index 150c4ab6e..5251f45f9 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat500TraceBuilder.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/trace/builders/trace/SingleTomcat500TraceBuilder.java @@ -14,7 +14,7 @@ public enum SingleTomcat500TraceBuilder implements TraceSegmentBuilder { INSTANCE; @Override public TraceSegment build(MockTracerContextListener listener) { - TomcatSpanGenerator.INSTANCE.on500(); + TomcatSpanGenerator.ON500.INSTANCE.build().generate(); return listener.getFinished(0); } } From 99024b3d0f651c275abfd5c7a74c84178a7ecb82 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 15:58:27 +0800 Subject: [PATCH 6/7] Add api/conf test case. --- .../eye/skywalking/agent/SkyWalkingAgent.java | 4 +- .../a/eye/skywalking/api/conf/Constants.java | 2 +- .../api/conf/SnifferConfigInitializer.java | 26 +++++++++---- .../skywalking/api/conf/ConstantsTest.java | 14 +++++++ .../conf/SnifferConfigInitializerTest.java | 38 +++++++++++++++++++ .../src/test/resources/sky-walking.config | 3 ++ 6 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/ConstantsTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializerTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/resources/sky-walking.config diff --git a/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java b/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java index 6a8df9340..173ca6d4c 100644 --- a/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java +++ b/skywalking-sniffer/skywalking-agent/src/main/java/com/a/eye/skywalking/agent/SkyWalkingAgent.java @@ -26,8 +26,8 @@ import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.not; /** - * The main entrance of sky-waking agent. - * It bases on javaagent mechanism. + * The main entrance of sky-waking agent, + * based on javaagent mechanism. * * @author wusheng */ diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Constants.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Constants.java index 8751a1be4..4e5dbcb46 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Constants.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Constants.java @@ -7,5 +7,5 @@ public class Constants { * This is the version, which will be the first segment of traceid. * Ref {@link TraceIdGenerator#generate()} */ - public static String SDK_VERSION = "302017"; + public final static String SDK_VERSION = "302017"; } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java index 1a267fa78..dd37d05a6 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializer.java @@ -11,7 +11,7 @@ import java.io.InputStream; import java.util.Properties; public class SnifferConfigInitializer { - private static ILog logger = LogManager.getLogger(SnifferConfigInitializer.class); + private static ILog logger = LogManager.getLogger(SnifferConfigInitializer.class); public static void initialize() { InputStream configFileStream; @@ -32,24 +32,34 @@ public class SnifferConfigInitializer { logger.error("Failed to read the config file, sky-walking api run in default config.", e); } } - Config.SkyWalking.USERNAME = System.getProperty("username"); - Config.SkyWalking.APPLICATION_CODE = System.getProperty("applicationCode"); - Config.SkyWalking.SERVERS = System.getProperty("servers"); - if(StringUtil.isEmpty(Config.SkyWalking.USERNAME)){ + String username = System.getProperty("username"); + if (!StringUtil.isEmpty(username)) { + Config.SkyWalking.USERNAME = username; + } + String applicationCode = System.getProperty("applicationCode"); + if (!StringUtil.isEmpty(applicationCode)) { + Config.SkyWalking.APPLICATION_CODE = applicationCode; + } + String servers = System.getProperty("servers"); + if(!StringUtil.isEmpty(servers)) { + Config.SkyWalking.SERVERS = servers; + } + + if (StringUtil.isEmpty(Config.SkyWalking.USERNAME)) { throw new ExceptionInInitializerError("'-Dusername=' is missing."); } - if(StringUtil.isEmpty(Config.SkyWalking.APPLICATION_CODE)){ + if (StringUtil.isEmpty(Config.SkyWalking.APPLICATION_CODE)) { throw new ExceptionInInitializerError("'-DapplicationCode=' is missing."); } - if(StringUtil.isEmpty(Config.SkyWalking.SERVERS)){ + if (StringUtil.isEmpty(Config.SkyWalking.SERVERS)) { throw new ExceptionInInitializerError("'-Dservers=' is missing."); } } private static InputStream fetchAuthFileInputStream() { try { - return new FileInputStream(Config.SkyWalking.AGENT_BASE_PATH + File.separator + "/sky-walking.config"); + return new FileInputStream(Config.SkyWalking.AGENT_BASE_PATH + File.separator + "sky-walking.config"); } catch (Exception e) { logger.warn("sky-walking.config is missing, use default config."); return null; diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/ConstantsTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/ConstantsTest.java new file mode 100644 index 000000000..8f9f7f314 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/ConstantsTest.java @@ -0,0 +1,14 @@ +package com.a.eye.skywalking.api.conf; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class ConstantsTest { + @Test + public void testSDKVersion(){ + Assert.assertEquals("302017", Constants.SDK_VERSION); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializerTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializerTest.java new file mode 100644 index 000000000..3c32e45ec --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/conf/SnifferConfigInitializerTest.java @@ -0,0 +1,38 @@ +package com.a.eye.skywalking.api.conf; + +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author wusheng + */ +public class SnifferConfigInitializerTest { + + @Test + public void testInitialize(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + SnifferConfigInitializer.initialize(); + + Assert.assertEquals("testUser", Config.SkyWalking.USERNAME); + Assert.assertEquals("crmApp", Config.SkyWalking.APPLICATION_CODE); + Assert.assertEquals("127.0.0.1:8080", Config.SkyWalking.SERVERS); + + Assert.assertNotNull(Config.Disruptor.BUFFER_SIZE); + Assert.assertNotNull(Config.Logging.LOG_DIR_NAME); + Assert.assertNotNull(Config.Logging.LOG_FILE_NAME); + Assert.assertNotNull(Config.Logging.MAX_LOG_FILE_LENGTH); + Assert.assertNotNull(Config.Logging.SYSTEM_ERROR_LOG_FILE_NAME); + } + + @Test(expected = ExceptionInInitializerError.class) + public void testErrorInitialize(){ + Config.SkyWalking.IS_PREMAIN_MODE = true; + SnifferConfigInitializer.initialize(); + } + + @AfterClass + public static void reset(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/resources/sky-walking.config b/skywalking-sniffer/skywalking-api/src/test/resources/sky-walking.config new file mode 100644 index 000000000..8c35dada7 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/resources/sky-walking.config @@ -0,0 +1,3 @@ +skywalking.username = testUser +skywalking.application_code = crmApp +skywalking.servers = 127.0.0.1:8080 From ee7cf9da2bd3e6beaf6c53c75092a8fac4de391a Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 28 Feb 2017 16:37:09 +0800 Subject: [PATCH 7/7] Add easylog test cases. Need refactor these classes later. --- .../skywalking/api/logging/WriterFactory.java | 3 - .../api/logging/EasyLogResolverTest.java | 14 ++++ .../api/logging/EasyLoggerTest.java | 64 +++++++++++++++++++ .../api/logging/WriterFactoryTest.java | 42 ++++++++++++ 4 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java create mode 100644 skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java index 3571aaa06..fc38edfee 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java @@ -3,9 +3,6 @@ package com.a.eye.skywalking.api.logging; import com.a.eye.skywalking.api.conf.Config; public class WriterFactory { - private WriterFactory(){ - } - public static IWriter getLogWriter(){ if (Config.SkyWalking.IS_PREMAIN_MODE){ return SyncFileWriter.instance(); diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java new file mode 100644 index 000000000..f4f6077b6 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java @@ -0,0 +1,14 @@ +package com.a.eye.skywalking.api.logging; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class EasyLogResolverTest { + @Test + public void testGetLogger(){ + Assert.assertTrue(new EasyLogResolver().getLogger(EasyLogResolverTest.class) instanceof EasyLogger); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java new file mode 100644 index 000000000..0e6cd274c --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java @@ -0,0 +1,64 @@ +package com.a.eye.skywalking.api.logging; + +import com.a.eye.skywalking.api.conf.Config; +import java.io.PrintStream; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.times; + +/** + * Created by wusheng on 2017/2/28. + */ +public class EasyLoggerTest { + private static PrintStream outRef; + private static PrintStream errRef; + + @BeforeClass + public static void initAndHoldOut(){ + outRef = System.out; + errRef = System.err; + } + + @Test + public void testLog(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + + PrintStream output = Mockito.mock(PrintStream.class); + System.setOut(output); + PrintStream err = Mockito.mock(PrintStream.class); + System.setErr(err); + EasyLogger logger = new EasyLogger(EasyLoggerTest.class); + + Assert.assertTrue(logger.isDebugEnable()); + Assert.assertTrue(logger.isInfoEnable()); + Assert.assertTrue(logger.isWarnEnable()); + Assert.assertTrue(logger.isErrorEnable()); + + logger.debug("hello world"); + logger.debug("hello {}", "world"); + logger.info("hello world"); + logger.info("hello {}", "world"); + + logger.warn("hello {}", "world"); + logger.warn("hello world"); + logger.error("hello world"); + logger.error("hello world", new NullPointerException()); + logger.error(new NullPointerException(),"hello {}", "world"); + + Mockito.verify(output,times(4)) + .println(anyString()); + Mockito.verify(err,times(7)) + .println(anyString()); + } + + @AfterClass + public static void reset(){ + System.setOut(outRef); + System.setErr(errRef); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java new file mode 100644 index 000000000..eec580928 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java @@ -0,0 +1,42 @@ +package com.a.eye.skywalking.api.logging; + +import com.a.eye.skywalking.api.conf.Config; +import java.io.PrintStream; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +/** + * Created by wusheng on 2017/2/28. + */ +public class WriterFactoryTest { + private static PrintStream errRef; + + @BeforeClass + public static void initAndHoldOut(){ + errRef = System.err; + } + + /** + * During this test case, + * reset {@link System#out} to a Mock object, for avoid a console system.error. + */ + @Test + public void testGetLogWriter(){ + Config.SkyWalking.IS_PREMAIN_MODE = true; + PrintStream mockStream = Mockito.mock(PrintStream.class); + System.setErr(mockStream); + Assert.assertEquals(SyncFileWriter.instance(), WriterFactory.getLogWriter()); + + Config.SkyWalking.IS_PREMAIN_MODE = false; + Assert.assertTrue(WriterFactory.getLogWriter() instanceof STDOutWriter); + } + + @AfterClass + public static void reset(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + System.setErr(errRef); + } +}