Javascript iojs/electron-将控制台中的所有内容输出到文件

Javascript iojs/electron-将控制台中的所有内容输出到文件,javascript,node.js,electron,Javascript,Node.js,Electron,我目前正在Electron中构建一个应用程序,目前正在使用iojs 2.3.1,我想做的是将在开发工具控制台中打印出来的任何内容输出到文件中 在node的早期版本中,这一点以前是通过stdout/stderr的管道实现的,现在已经不可能了,我无法找到一个有效且不涉及大量代码更改的解决方案 有人对此有有效的解决方案吗?谢谢 您可以创建如下自定义控制台: var output = fs.createWriteStream('./stdout.log'); var errorOutput = fs.c

我目前正在Electron中构建一个应用程序,目前正在使用iojs 2.3.1,我想做的是将在开发工具控制台中打印出来的任何内容输出到文件中

在node的早期版本中,这一点以前是通过stdout/stderr的管道实现的,现在已经不可能了,我无法找到一个有效且不涉及大量代码更改的解决方案


有人对此有有效的解决方案吗?谢谢

您可以创建如下自定义控制台:

var output = fs.createWriteStream('./stdout.log');
var errorOutput = fs.createWriteStream('./stderr.log');
// custom simple logger
var logger = new Console(output, errorOutput);
// use it like console
var count = 5;
logger.log('count: %d', count);
// in stdout.log: count 5


显然,异常不会打印到错误日志中,这是一种解决方法:

process.on('uncaughtException', function (err) {
  logger.error('Caught exception: ' + err);
});

最终的工作结果是使用Winston进行快速更改,使其与Electron一起工作

编辑:


由于仍在查看此答案,因此此解决方案更好

啊,太棒了!那么例外情况呢?在我无法重新创建问题的其他用户机器上使用最多。“这就是为什么所有事情都是这样的。”达斯汀我只是玩弄它,看起来不像。P