我有一个简单的nodejs docker服务。我正在开发stdout并在生产中登录AWS cloudwatch。
我刚刚添加了永久监视器,但这会破坏我的日志记录。所以我开始在子进程上捕获stdout,
const forever = require('forever-monitor');
const child = new (forever.Monitor)('server.js', {
max: 3,
silent: true,
args: []
});
child.on('stdout', function(data) {
console.log(data);
});
但这只是给我字节码 -
[nodemon] starting `node forever.js`
<Buffer 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 6c 69 76 65 20 64 62 0a>
如何将我的console.log
语句恢复为std-out?
答案 0 :(得分:0)
看起来data
是一个流(请参阅node docs)。
我已将我的代码更新为 -
child.on('stdout', function(data) {
console.log(data.toString());
});
现在它按预期工作了。 (我发现this question很有用。)