如何使用npm forever-monitor登录到stdout

时间:2017-06-09 12:04:30

标签: node.js forever-monitor

我有一个简单的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?

1 个答案:

答案 0 :(得分:0)

看起来data是一个流(请参阅node docs)。

我已将我的代码更新为 -

child.on('stdout', function(data) {
  console.log(data.toString());
});

现在它按预期工作了。 (我发现this question很有用。)