feat: Optimization framework

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-03-02 00:29:46 +08:00
parent 72ae1b4b29
commit f98814bf2d
14 changed files with 125 additions and 83 deletions

View File

@ -39,26 +39,39 @@
}
};
this.ex = function(message, ex) {
if (!ex) {
this.console('§4' + message);
ex = message;
} else {
this.console('§4' + message + ' ' + ex);
switch (toString.call(message)) {
case "[object String]":
message = message + ' ' //message = 'xxxx' ex =Error
break
case "[object Error]":
ex = message // message = Error ex=null
message = ''
break
}
var track = ex.getStackTrace();
this.console('§4 ' + message + ex)
this.stack(ex).forEach(function(line) {
this.console(line)
})
};
this.stack = function(ex) {
var track = ex ? ex.getStackTrace() : new Error().getStackTrace();
var cache = ['§4' + ex];
if (track.class) {
track = Arrays.asList(track)
}
track.forEach(function(stack) {
if (stack.className.startsWith('<')) {
this.console(' §e位于§c', stack.fileName, '=>§c', stack.methodName, '§4行', stack.lineNumber);
var fileName = stack.fileName
fileName = fileName.indexOf('runtime') > -1 ? fileName.split('runtime')[1] : fileName;
cache.push(' §e->§c %s => §4%s:%s'.format(fileName, stack.methodName, stack.lineNumber))
} else {// %s.%s(§4%s:%s§c)
var className = stack.className
className = className.startsWith('jdk.nashorn.internal.scripts') ? className.substr(className.lastIndexOf('$') + 1) : className
this.console(' §e位于§c', className + '.' + stack.methodName + '(§4' + stack.fileName + ':' + stack.lineNumber + '§c)');
cache.push(' §e->§c %s.%s(§4%s:%s§c)'.format(className, stack.methodName, stack.fileName, stack.lineNumber));
}
}.bind(this));
};
});
return cache;
}
};
global.Console = ConsoleDefault;
})(global);