我在关注那篇文章https://nodejs.org/api/console.html如何将输出写入文件
var output = fs.createWriteStream('./stdout.log');
var errorOutput = fs.createWriteStream('./stderr.log');
var logger = new Console(output, errorOutput);
logger.log('log my stuff to the file');
但我看不到有任何内容被写入文件。为什么?我只能看到0字节的空文件。
我刚刚在我的代码中发现了一些神秘之处。当我注释代码bwlow时,记录器正在工作,但当我取消注释该代码时,记录器不工作:
var exec = require('child_process').exec, child;
child = exec(cmd,
function (error, stdout, stderr) {
console.log(cmd);
if (error !== null) {
console.log(error);
}
})
我的代码没有任何问题/错误,一切正常。但当我打电话给child = exec...
时,loggin不起作用
控制台上的文档显示:
全局控制台是一个特殊的控制台,其输出发送到process.stdout和process.stderr
所以在我的情况下,当我运行child = exec...
时,它正在运行另一个项目,所以它可能正在破坏Console.Log()
。。。有什么想法吗?
完整的脚本应该是这样的:
var Console = require('console').Console,
fs = require('fs'),
output = fs.createWriteStream('./stdout.log'),
errorOutput = fs.createWriteStream('./stderr.log'),
logger = new Console(output, errorOutput);
logger.log('log my stuff to the file');