新增 console.trace(), console.time(), console.timeEnd()
新增 console.setGlobalLogConfig()支持保存日志文件
This commit is contained in:
@@ -1,43 +1,82 @@
|
||||
|
||||
module.exports = function(__runtime__, scope){
|
||||
module.exports = function (__runtime__, scope) {
|
||||
var rtConsole = __runtime__.console;
|
||||
var console = {};
|
||||
|
||||
console.assert = function(value, message){
|
||||
console.assert = function (value, message) {
|
||||
message = message || "";
|
||||
rtConsole.assertTrue(value, message);
|
||||
}
|
||||
|
||||
console.rawInput = rtConsole.rawInput.bind(rtConsole);
|
||||
|
||||
console.input = function(data, param){
|
||||
console.input = function (data, param) {
|
||||
return eval(console.rawInput.call(console, [].slice(arguments)) + "");
|
||||
}
|
||||
|
||||
console.log = function(){
|
||||
console.log = function () {
|
||||
rtConsole.log(util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
console.verbose = function(){
|
||||
console.verbose = function () {
|
||||
rtConsole.verbose(util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
console.print = function(){
|
||||
console.print = function () {
|
||||
rtConsole.print(android.util.Log.DEBUG, util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
console.info = function(){
|
||||
console.info = function () {
|
||||
rtConsole.info(util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
console.warn = function(){
|
||||
console.warn = function () {
|
||||
rtConsole.warn(util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
console.error = function(){
|
||||
console.error = function () {
|
||||
rtConsole.error(util.format.apply(util, arguments));
|
||||
}
|
||||
|
||||
var timers = {}, ascu = android.os.SystemClock.uptimeMillis;
|
||||
console.time = console.time || function (label) {
|
||||
label = label || "default";
|
||||
timers[label] = ascu();
|
||||
}
|
||||
|
||||
console.timeEnd = console.timeEnd || function (label) {
|
||||
label = label || "default";
|
||||
var result = ascu() - timers[label];
|
||||
delete timers[label];
|
||||
console.log(label + ": " + result + "ms");
|
||||
}
|
||||
|
||||
console.trace = console.trace || function captureStack(message) {
|
||||
var k = {};
|
||||
Error.captureStackTrace(k, captureStack);
|
||||
console.log(util.format.apply(util, arguments) + "\n" + k.stack);
|
||||
};
|
||||
|
||||
console.setGlobalLogConfig = function (config) {
|
||||
let logConfigurator = new Packages["de.mindpipe.android.logging.log4j"].LogConfigurator();
|
||||
if (config.file) {
|
||||
logConfigurator.setFileName(files.path(config.file));
|
||||
logConfigurator.setUseFileAppender(true);
|
||||
}
|
||||
logConfigurator.setFilePattern(option(config.filePattern, "%m%n"))
|
||||
logConfigurator.setMaxFileSize(option(config.maxFileSize, 512 * 1024));
|
||||
logConfigurator.setImmediateFlush(option(config.immediateFlush, true));
|
||||
let rootLevel = option(config.rootLevel, "ALL");
|
||||
logConfigurator.setRootLevel(org.apache.log4j.Level[rootLevel.toUpperCase()]);
|
||||
logConfigurator.setMaxBackupSize(option(config.maxBackupSize, 5));
|
||||
logConfigurator.setResetConfiguration(option(config.resetConfiguration, true));
|
||||
logConfigurator.configure();
|
||||
}
|
||||
|
||||
function option(value, def) {
|
||||
return value == undefined ? def : value;
|
||||
}
|
||||
|
||||
console.show = rtConsole.show.bind(rtConsole);
|
||||
console.hide = rtConsole.hide.bind(rtConsole);
|
||||
console.clear = rtConsole.clear.bind(rtConsole);
|
||||
|
||||
Reference in New Issue
Block a user