NodeJS - 如何将所有console.log重定向到SIGINT出口上的文件?

时间:2015-02-16 13:45:53

标签: javascript node.js

我正在构建一个NodeJS socket服务器,并且(不仅仅)调试使用console.log。主进程在收到套接字连接并将套接字传递给子进程时分叉子进程。然后,孩子将处理套接字和每条消息。主进程和子进程都会在执行时使用console.log ...

我想知道是否有一种方法,每当我通过在终端(SIGINT命令)上按Ctrl + C退出进程时,我可以将整个console.log输出重定向到文件...

这样的事情:

//server.js
//this doesn't work, of course!
var file = require('fs');
process.on("SIGINT",function(){
    //I tried process.stdout
    file.writeFileSync("server-log.txt",process.stdout);
    process.exit();
});

我想过.pipe()主进程stdout和所有子进程将stdout处理到主进程中的变量(或其他东西)然后,当SIGINT事件发生时,我会写出该变量&# 39; s对文件的内容,但我不知道该怎么做以及它是否会起作用...

有什么想法吗?

0 个答案:

没有答案