根据Node.js文档:
当目标是一个控制台时,控制台功能是同步的 终端或文件(以避免在过早退出的情况下丢失消息) 和异步(当它是管道时(避免长时间阻塞) 时间)。
现在我们知道pm2正在监听data
事件:
process.stderr.on('data', function(data){
var std = file. createWriteStream([LOG_PATH]);
std.write([LOG]);
});
这是否使console.log
与pm2异步使用?
答案 0 :(得分:2)
Pm2确实使console.log
变得异步。
尽管console.log
和console.error
基于:
process.stdout.write()
process.stderr.write()
Pm2通过使用来自应用程序的createWriteStream
刷新日志并重新加载它们以进行显示。如上面的代码段所述,来自应用程序的所有日志将被异步写入日志文件夹,默认情况下位于/root/.pm2/logs
中。
此外,您会注意到讨论Pm2日志记录机制存在一个问题。