node.js - PM2 console.log 异步?

标签 node.js asynchronous logging synchronous pm2

根据 Node.js 文档:

The console functions are synchronous when the destination is a terminal or a file (to avoid lost messages in case of premature exit) and asynchronous when it's a pipe (to avoid blocking for long periods of time).

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

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

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

最佳答案

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

虽然console.logconsole.error基于:

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

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

此外,您还可以注意到有一个讨论 Pm2 日志记录机制的问题。

Is logging asynchronous?

关于node.js - PM2 console.log 异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883358/

相关文章:

javascript - websocket 的 Emit 在 vuejs 和 vuex 上重复

node.js - 向 Node 模块扩展或添加功能

javascript - 是的, "Proxy"-ing jQuery 的 ready() 函数

mysql - 使用nodejs检查电子邮件是否存在于mysql数据库中

javascript - 如何在 JS( Node )中使用回调来等待异步函数完成后再继续?

java 8并行流,阻塞代码可能吗?

javascript - 如何在 Node.js 函数中应用 Promise

java - 如何在 Spring Boot 项目中使用 Log4jdbc 记录 SQL 查询、它们的参数和结果?

security - 清理 Tomcat 访问日志条目

apache - 简单的 goaccess 日志解析不起作用