我正在尝试为日志输出添加一些前缀,但它在Chrome中效果不佳:
function getlog(p) {
return function() {
var mainArguments = [p].concat.call(arguments);
console.log.bind(console).apply(console, mainArguments); }
}
最简单的解决方案很有效:console.log.bind(console),但我想添加其他文本。
相关主题:
console.log wrapper that keeps line numbers and supports most methods?
答案 0 :(得分:0)
在非数组(甚至类似数组的对象)上使用Array.prototype.concat()
会导致它将对象本身添加到结果数组而不是其内容中。您的代码实际上并未在[p]
调用中使用concat()
,只是简单地使用它来间接访问Array.prototype.concat()
。
试试这个:
function getlog(p) {
return function() {
var mainArguments = [p].concat(Array.prototype.slice.call(arguments));
console.log.apply(console, mainArguments);
};
}