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-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 2fb1f5d37..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,80 +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 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();
- }
-
- @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-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..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
@@ -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;
@@ -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/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/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 4faa1b64e..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
@@ -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;
@@ -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/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..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,9 +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;
import java.util.Date;
@@ -34,7 +31,7 @@ public class EasyLogger implements ILog {
}
if (e != null) {
- WriterFactory.getLogWriter().writeError(LoggingUtil.fetchThrowableStack(e));
+ WriterFactory.getLogWriter().writeError(ThrowableFormatter.format(e));
}
}
@@ -76,18 +73,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 78%
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 449b87d2d..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.
@@ -14,11 +14,9 @@ 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);
+ void error(Throwable e, String format, Object... arguments);
boolean isDebugEnable();
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 82%
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 9f28294ba..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) {
@@ -25,20 +27,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;
@@ -73,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/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/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/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/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/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-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/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-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 89%
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 51ce2c81c..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;
@@ -50,15 +50,11 @@ 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 void error(Throwable e, String format, Object... arguments) {
}
@@ -91,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 80%
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 7bbd3ab2f..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.
@@ -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-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/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);
+ }
+}
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(){
+ }
+}
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));
+ }
+}
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
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);
}
}
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;