use of com.logg.parser.Parser in project Logg by RockyQu.
the class Utils method objectToString.
/**
* Object to String
*
* @param object
* @param childLevel
* @return
*/
private static String objectToString(Object object, int childLevel) {
if (object == null) {
return LoggConstant.NULL;
}
if (childLevel > LoggConstant.MAX_LEVEL) {
return object.toString();
}
// 自定义解析类判断
LoggConfiguration loggConfig = PrinterManager.getInstance().getConfiguration();
if (loggConfig != null) {
for (Parser parser : loggConfig.getParsers()) {
if (parser.parseClassType().isAssignableFrom(object.getClass())) {
return parser.parseString(object);
}
}
}
// 是否是数组
if (Utils.isArray(object)) {
return Utils.parseArray(object);
}
if (object.toString().startsWith(object.getClass().getName() + "@")) {
StringBuilder builder = new StringBuilder();
iterateClassFields(object.getClass(), builder, object, false, childLevel);
Class superClass = object.getClass().getSuperclass();
while (!superClass.equals(Object.class)) {
iterateClassFields(superClass, builder, object, true, childLevel);
superClass = superClass.getSuperclass();
}
return builder.toString();
}
return object.toString();
}
Aggregations