在我的Nodejs脚本中,我有一行,按需调用:
eval(fs.readFileSync('eval.js')+'');
这样做是因为有时候我想知道我的“nodejs脚本”中发生了什么,它是变量的内容。
所以,“eval.js”通常表示为:
console.dir(myVar);
问题是,它在控制台输出中输出。 “父”脚本还在控制台中输出一些信息,因此控制台运行速度非常快,我无法得到我想要的。
我正在搜索任何方式将文件“eval.js”的所有输出放入另一个文件“x.log”。
类似(在“父”脚本中):
evalFileToLog("eval.js", "x.log");
或“eval.js”:
// something what will forward stdout to "x.log"
console.dir(abc);
// blah blah blah
// something that will restore stdout to it's normal behaviour, like it was before.
感谢您的帮助!
答案 0 :(得分:0)
您可以写入另一个流(例如文件或standard error)来分隔您的输出,但我强烈建议不要对程序中的任何文件进行同步读取。
获取应用视图的另一种方法是利用repl,您可以在程序中使用shell,而不是充斥输出。
var repl = require('repl');
var bar = new MyApp();
relp.start({
foo: bar
});
现在你的shell已经暴露了bar
。