如何扩展console.log?

时间:2015-05-10 00:47:36

标签: javascript node.js

是否有编写原型函数或在调用console.log时运行的函数? (并获取console.log参数)。对于我的基于Web的游戏服务器,我大约有100 KB,并且在我的代码中有数百个console.logs。我很想使用控制台日志数据,稍后在基于Web的管理面板或其他内容中使用这些信息。

哦,我正在使用nodejs和FS。写入文件没有问题,我知道如何做到这一点,但只是抓住console.log就是问题所在。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

只需将// Store the original version, so that you can fall back to it var originalLogger = console.log, fs = require("fs"), writeStream = fs.createWriteStream("logs.txt"); console.log = function () { // Do your custom logging logic for (var i = 0; i < arguments.length; i++) { writeStream.write(arguments[i]); } // You can still call the original `console.log`, with all the `arguments` originalLogger.apply(this, arguments); } console.log("Welcome"); 替换为您自己的功能,例如

{{1}}

答案 1 :(得分:1)

您可以将console.log重置为自定义日志功能,演示代码:

A a;
string& b = a.GetTitle(); // Allows control over original variable