我有一个子进程,我在 node.js 中使用如下。我不想将输出重定向到控制台,而是将输出放在正在运行的机器上某个位置的日志文件中(并且应该适用于 windows 和 mac)。
下面的代码是我正在使用的,我想将文件输出到日志文件中。在这里需要做哪些改变?谢谢!
我的代码:
var spawn = require('child_process').spawn,
ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
ls.on('close', function (code) {
console.log('child process exited with code ' + code);
});
最佳答案
这是使用流记录到文件的示例。
var logStream = fs.createWriteStream('./logFile.log', {flags: 'a'});
var spawn = require('child_process').spawn,
ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.pipe(logStream);
ls.stderr.pipe(logStream);
ls.on('close', function (code) {
console.log('child process exited with code ' + code);
});
关于node.js - 使用 node.js 将输出重定向到日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155932/