2

根据 Node.js 文档:

当目标是终端或文件时,控制台函数是同步的(以避免在过早退出的情况下丢失消息),而当它是管道时是异步的(以避免长时间阻塞)。

现在我们知道 pm2 正在监听data事件:

process.stderr.on('data', function(data){
 var std = file. createWriteStream([LOG_PATH]);
 std.write([LOG]);
});

这是否使console.log与 pm2 异步使用?

4

1 回答 1

4

Pm2 确实使console.log变得异步。

虽然console.log并且console.error基于:

process.stdout.write()
process.stderr.write()

Pm2 使用createWriteStream您的应用程序刷新日志并重新加载它们以供显示。正如您上面提到的代码段,来自您的应用程序的所有日志都将异步写入日志文件夹,/root/.pm2/logs默认情况下位于该文件夹中。

此外,您会注意到讨论 Pm2 日志记录机制时存在问题。

日志记录是异步的吗?

于 2018-08-23T06:39:23.837 回答