我目前正在使用iojs 2.3.1在Electron中构建一个应用程序,而我想要做的是输出任何内容以及在开发工具控制台中打印出的所有文件
在节点的早期版本中,过去可以通过stdout / stderr的管道来使用,这已经不可能了,我不能在我的生活中找到一个有效的解决方案,并且不会涉及到改变了大量的代码。
有没有人有这方面的工作解决方案?谢谢!
答案 0 :(得分:9)
最终的工作结果是使用Winston快速更改,使其与Electron一起使用。 https://github.com/dustinblackman/winston
编辑:
由于仍在查看此答案,因此此解决方案更好。 https://github.com/dustinblackman/winston-electron
答案 1 :(得分:3)
您可以像这样创建自定义控制台:
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
请参阅https://iojs.org/api/console.html#console_new_console_stdout_stderr
显然异常不会打印到错误日志,这是一种解决方法:
process.on('uncaughtException', function (err) {
logger.error('Caught exception: ' + err);
});