修改console.log

时间:2015-06-11 18:44:09

标签: javascript node.js

我想修改console.log,以便使用console.log保存应用程序输出到命令行的所有内容。

我试过了

var log = console.log;

console.log = function () {
    // fs.appendFile('log.txt ..
    log.apply(log, arguments);
}

但它给了我错误

 Illegal invocation

1 个答案:

答案 0 :(得分:3)

apply的第一个参数是this将引用的内容。要模仿对console.log()的调用,您必须传递console,而不是函数本身:

 log.apply(console, arguments);
 // log.apply(this, arguments); would work as well