Browse Source

web log 针对数组类型的参数特殊处理

sunyj 8 years ago
parent
commit
f314f48a95

+ 2 - 1
kanban-common/src/main/java/com/uas/kanban/aop/WebLogAspect.java

@@ -14,6 +14,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import com.uas.kanban.util.IpHelper;
 import com.uas.kanban.util.IpHelper;
+import com.uas.kanban.util.ObjectUtils;
 import com.uas.kanban.util.StringUtils;
 import com.uas.kanban.util.StringUtils;
 
 
 /**
 /**
@@ -65,7 +66,7 @@ public class WebLogAspect {
 					continue;
 					continue;
 				} else {
 				} else {
 					// 参数类型和参数值
 					// 参数类型和参数值
-					stringBuilder.append(strs[i]).append("=").append(args[i]);
+					stringBuilder.append(strs[i]).append("=").append(ObjectUtils.toString(args[i]));
 				}
 				}
 				if (i != strs.length - 1) {
 				if (i != strs.length - 1) {
 					stringBuilder.append(",");
 					stringBuilder.append(",");

+ 37 - 0
kanban-common/src/main/java/com/uas/kanban/util/ObjectUtils.java

@@ -7,6 +7,7 @@ import java.io.NotSerializableException;
 import java.io.ObjectInputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
@@ -32,6 +33,42 @@ public class ObjectUtils {
 				|| (obj instanceof Map && CollectionUtils.isEmpty((Map<?, ?>) obj));
 				|| (obj instanceof Map && CollectionUtils.isEmpty((Map<?, ?>) obj));
 	}
 	}
 
 
+	/**
+	 * 将对象转为 String
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	public static String toString(Object obj) {
+		if (obj == null) {
+			return "";
+		}
+		if (obj instanceof String) {
+			return (String) obj;
+		}
+		if (obj.getClass().isArray()) {
+			if (obj instanceof long[]) {
+				return Arrays.toString((long[]) obj);
+			} else if (obj instanceof int[]) {
+				return Arrays.toString((int[]) obj);
+			} else if (obj instanceof short[]) {
+				return Arrays.toString((short[]) obj);
+			} else if (obj instanceof byte[]) {
+				return Arrays.toString((byte[]) obj);
+			} else if (obj instanceof char[]) {
+				return Arrays.toString((char[]) obj);
+			} else if (obj instanceof boolean[]) {
+				return Arrays.toString((boolean[]) obj);
+			} else if (obj instanceof float[]) {
+				return Arrays.toString((float[]) obj);
+			} else if (obj instanceof double[]) {
+				return Arrays.toString((double[]) obj);
+			}
+			return Arrays.toString((Object[]) obj);
+		}
+		return obj.toString();
+	}
+
 	/**
 	/**
 	 * 深克隆对象
 	 * 深克隆对象
 	 * 
 	 *