繁体   English   中英

如何扩展console.log?

[英]How to extend console.log?

无论如何,有没有要编写原型函数,或者每当调用console.log时都会运行的函数? (并获取console.log参数)。 我的基于Web的游戏服务器大约有100 KB的存储空间,并且在我的代码中有数百个console.log。 我很乐意使用控制台日志数据,并稍后在基于Web的管理面板中使用该信息。

哦,我正在使用nodejs和FS 写入文件没有问题,我知道该怎么做,但是仅捕获console.log就是问题。 任何想法?

只需使用您自己的功能替换console.log ,就像这样

// 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");

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

var fs = require('fs');
var util = require('util');

var l = fs.createWriteStream('abc');
console.log = function () {
    var args = Array.prototype.slice.call(arguments)
    l.write(util.format.apply(util, args));
    l.write('\n');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM