diff --git a/src/main/java/com/profiler/interceptor/bci/ClassLoadChecker.java b/src/main/java/com/profiler/interceptor/bci/ClassLoadChecker.java index ac3d3398d..5fd19aadd 100644 --- a/src/main/java/com/profiler/interceptor/bci/ClassLoadChecker.java +++ b/src/main/java/com/profiler/interceptor/bci/ClassLoadChecker.java @@ -8,6 +8,8 @@ import java.util.concurrent.ConcurrentMap; public class ClassLoadChecker { private final Logger logger = LoggerFactory.getLogger(ClassLoadChecker.class.getName()); + private final boolean isDebug = logger.isDebugEnabled(); + private static final Object EXIST = new Object(); private ConcurrentMap load = new ConcurrentHashMap(); @@ -16,13 +18,13 @@ public class ClassLoadChecker { LoadClass key = new LoadClass(cl, className); Object old = load.putIfAbsent(key, EXIST); if (old == null) { - if (logger.isInfoEnabled()) { - logger.info("{} not exist from ", cl); + if (isDebug) { + logger.debug("{} not exist from ", cl); } return false; } - if (logger.isInfoEnabled()) { - logger.info("{} already exist from ", cl); + if (isDebug) { + logger.debug("{} already exist from ", cl); } return true; } diff --git a/src/main/java/com/profiler/logging/Slf4jLoggerAdapter.java b/src/main/java/com/profiler/logging/Slf4jLoggerAdapter.java index dffaa6ffb..e2ce95ce6 100644 --- a/src/main/java/com/profiler/logging/Slf4jLoggerAdapter.java +++ b/src/main/java/com/profiler/logging/Slf4jLoggerAdapter.java @@ -54,7 +54,28 @@ public class Slf4jLoggerAdapter implements Logger { sb.append(methodName); sb.append(parameterDescription); sb.append(" args:"); - sb.append(Arrays.toString(args)); + appendArray(sb, args); + } + + private static void appendArray(StringBuilder sb, Object[] args) { + if (args == null) { + sb.append("null"); + return; + } + if (args.length == 0) { + return; + } + + if (args.length > 0) { + sb.append('('); + sb.append(args[0]); + for (int i = 1; i < args.length; i++) { + sb.append(", "); + sb.append(args[i]); + } + sb.append(')'); + } + return; } @Override