我想覆盖console.log并在我的新函数上调用它.
我尝试这样的东西,但我得到Uncaught TypeError:非法调用:
console.log = function() { this.apply(window,arguments); }.bind(console.log); console.log('as');
这是我的目标:
console.error(例外);应该做:
console.error = function() { if (typeof exception.stack !== 'undefined') { console.error(exception.stack); } else { console.error.apply(windows,arguments); } }.bind(console.error); console.error('as'); console.error({stack: 'my stack....'});
编辑:
实际上,它适用于Firefox而不是Chrome …
这是Chrome中的一个错误:https://code.google.com/p/chromium/issues/detail?id=167911
解决方法
你可以有类似的东西:
console.error = (function() { var error = console.error; return function(exception) { if (typeof exception.stack !== 'undefined') { error.call(console,exception.stack); } else { error.apply(console,arguments); } } })();