保留行号的自定义console.log[重复]

问题描述 投票:0回答:1

我试图在日志输出中添加一些前缀,但它在 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 包装器保留行号并支持大多数方法?

javascript
1个回答
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); 
    };
}
© www.soinside.com 2019 - 2024. All rights reserved.