【发布时间】:2013-08-26 22:26:55
【问题描述】:
我有以下代码:
var myLog = console.log.bind(console, '[DEBUG]');
当我想将前面带有[DEBUG] 的内容记录到控制台时,可以找到哪些方法。
现在我想在日志中添加一个日期/时间,我尝试了这个:
var myLog = console.log.bind(console, '[DEBUG ' + (new Date) + ']');
这显然不起作用,因为它总是记录同一时间(调用 .bind 的时间)。
有没有办法(使用.bind)在每个日志上记录当前时间而不必这样做:
var myLog = function(){
var args = ['[DEBUG ' + (new Date) + ']'];
for(var i = 0; i < arguments.length; ++i) {
args.push(arguments[i]);
}
return console.log.apply(console, args);
};
?
因为上述方法向我显示了调用console.log.apply 的行,而不是调用了myLog 的行。
【问题讨论】:
-
您可以提取从
Error().stack调用它的行 -
@copy 那是我已经在做的......但这不允许您在控制台中单击它以到达源文件中的行