PM2 console.log异步吗?

时间:2018-08-16 18:33:20

标签: node.js asynchronous logging synchronous pm2

根据Node.js文档:

  

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

尽管console.logconsole.error基于:

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

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

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

Is logging asynchronous?