mirror of
https://github.com/liriliri/eruda.git
synced 2026-04-01 10:18:35 +08:00
Dev: Add time, timeEnd support
This commit is contained in:
@@ -38,9 +38,7 @@
|
||||
"postcss-loader": "^0.8.1",
|
||||
"sass-loader": "^3.1.2",
|
||||
"style-loader": "^0.13.0",
|
||||
"webpack": "^1.12.14"
|
||||
},
|
||||
"dependencies": {
|
||||
"webpack": "^1.12.14",
|
||||
"draggabilly": "^2.1.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,45 @@ export default class Console extends Tool
|
||||
this._initLog();
|
||||
this._bindEvent();
|
||||
}
|
||||
overrideConsole()
|
||||
{
|
||||
var log = this._log;
|
||||
|
||||
window.console.log = (msg) =>
|
||||
{
|
||||
log.log(msg);
|
||||
};
|
||||
window.console.error = (msg) =>
|
||||
{
|
||||
log.error(msg);
|
||||
};
|
||||
window.console.warn = (msg) =>
|
||||
{
|
||||
log.warn(msg);
|
||||
};
|
||||
window.console.time = (name) =>
|
||||
{
|
||||
log.time(name);
|
||||
};
|
||||
window.console.timeEnd = (name) =>
|
||||
{
|
||||
log.timeEnd(name);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
catchGlobalErr()
|
||||
{
|
||||
var log = this._log;
|
||||
|
||||
window.onerror = (errMsg, url, lineNum, column, errObj) =>
|
||||
{
|
||||
if (errObj) return log.error(errObj);
|
||||
log.error(errMsg);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
_appendTpl()
|
||||
{
|
||||
var $el = this._$el;
|
||||
@@ -30,7 +69,7 @@ export default class Console extends Tool
|
||||
_initLog()
|
||||
{
|
||||
this._log = new Log(this._$logs);
|
||||
this._log.overrideConsole().catchGlobalErr();
|
||||
this.overrideConsole().catchGlobalErr();
|
||||
}
|
||||
_bindEvent()
|
||||
{
|
||||
|
||||
@@ -58,37 +58,7 @@ export default class Log
|
||||
this._logs = [];
|
||||
this._tpl = require('./Log.hbs');
|
||||
this._filter = 'all';
|
||||
}
|
||||
overrideConsole()
|
||||
{
|
||||
var self = this;
|
||||
|
||||
window.console.log = (msg) =>
|
||||
{
|
||||
self.log(msg);
|
||||
};
|
||||
window.console.error = (msg) =>
|
||||
{
|
||||
self.error(msg);
|
||||
};
|
||||
window.console.warn = (msg) =>
|
||||
{
|
||||
self.warn(msg);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
catchGlobalErr()
|
||||
{
|
||||
var self = this;
|
||||
|
||||
window.onerror = (errMsg, url, lineNum, column, errObj) =>
|
||||
{
|
||||
if (errObj) return self.error(errObj);
|
||||
self.error(errMsg);
|
||||
};
|
||||
|
||||
return this;
|
||||
this._timer = {};
|
||||
}
|
||||
clear()
|
||||
{
|
||||
@@ -196,6 +166,24 @@ export default class Log
|
||||
{
|
||||
return this.log(helpMsg);
|
||||
}
|
||||
time(name)
|
||||
{
|
||||
this._timer[name] = util.now();
|
||||
|
||||
return this;
|
||||
}
|
||||
timeEnd(name)
|
||||
{
|
||||
var startTime = this._timer[name];
|
||||
|
||||
if (!startTime) return;
|
||||
|
||||
var duration = util.now() - startTime;
|
||||
this.log('<div class="eruda-blue">' + name + ':' + duration + 'ms</div>');
|
||||
delete this._timer[name];
|
||||
|
||||
return this;
|
||||
}
|
||||
_runCmd(cmd)
|
||||
{
|
||||
cmd = util.trim(cmd);
|
||||
|
||||
@@ -16,16 +16,21 @@
|
||||
&.log, &.output {
|
||||
border-bottom: 1px solid #b4b4b4;
|
||||
}
|
||||
&.log table {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-collapse: collapse;
|
||||
th {
|
||||
background: $blue;
|
||||
color: #fff;
|
||||
&.log {
|
||||
table {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-collapse: collapse;
|
||||
th {
|
||||
background: $blue;
|
||||
color: #fff;
|
||||
}
|
||||
th, td {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
th, td {
|
||||
padding: 10px;
|
||||
.blue {
|
||||
color: $blue;
|
||||
}
|
||||
}
|
||||
&.error {
|
||||
|
||||
19
src/util.js
19
src/util.js
@@ -801,6 +801,25 @@ module.exports = (function ()
|
||||
return matcher;
|
||||
})();
|
||||
|
||||
/* ------------------------------ now ------------------------------ */
|
||||
|
||||
var now;
|
||||
|
||||
_.now = (function ()
|
||||
{
|
||||
/* function
|
||||
* now: Gets the number of milliseconds that have elapsed since the Unix epoch.
|
||||
* return(number): Current timestamp.
|
||||
*/
|
||||
|
||||
now = Date.now || function ()
|
||||
{
|
||||
return new Date().getTime();
|
||||
};
|
||||
|
||||
return now;
|
||||
})();
|
||||
|
||||
/* ------------------------------ optimizeCb ------------------------------ */
|
||||
|
||||
var optimizeCb;
|
||||
|
||||
Reference in New Issue
Block a user