控制台.log Chrome 中的时间戳?
2022-08-29 23:48:33
有没有快速的方法让Chrome在写入中输出时间戳(就像Firefox一样)。还是预置是唯一的选择?console.log
new Date().getTime()
有没有快速的方法让Chrome在写入中输出时间戳(就像Firefox一样)。还是预置是唯一的选择?console.log
new Date().getTime()
试试这个:
console.logCopy = console.log.bind(console);
console.log = function(data)
{
var currentDate = '[' + new Date().toUTCString() + '] ';
this.logCopy(currentDate, data);
};
或者这个,如果你想要一个时间戳:
console.logCopy = console.log.bind(console);
console.log = function(data)
{
var timestamp = '[' + Date.now() + '] ';
this.logCopy(timestamp, data);
};
以一种很好的方式记录多个事物(如对象树表示):
console.logCopy = console.log.bind(console);
console.log = function()
{
if (arguments.length)
{
var timestamp = '[' + Date.now() + '] ';
this.logCopy(timestamp, arguments);
}
};
使用格式字符串 (JSFiddle)
console.logCopy = console.log.bind(console);
console.log = function()
{
// Timestamp to prepend
var timestamp = new Date().toJSON();
if (arguments.length)
{
// True array copy so we can call .splice()
var args = Array.prototype.slice.call(arguments, 0);
// If there is a format string then... it must
// be a string
if (typeof arguments[0] === "string")
{
// Prepend timestamp to the (possibly format) string
args[0] = "%o: " + arguments[0];
// Insert the timestamp where it has to be
args.splice(1, 0, timestamp);
// Log the whole array
this.logCopy.apply(this, args);
}
else
{
// "Normal" log
this.logCopy(timestamp, args);
}
}
};
输出:
附言:仅在Chrome中进行了测试。
P.P.S.:在这里并不完美,因为它将被记录为一个对象数组,而不是一系列的对象。Array.prototype.slice