使pm2登录到控制台

Fra*_*rus 22 node.js pm2

我正在使用pm2运行节点web服务器.由于pm2生成另一个进程并将stdout和stderr重定向到文件,因此我必须在其他地方查找日志.理想情况下,我希望节点进程输出到我运行pm2的同一控制台窗口.否则,我会解决pm2使用活动控制台窗口运行节点进程并让节点进程的stdout和stderr写入该控制台窗口.怎么能实现这一目标?我在一台Windows机器上.

Tim*_*ann 49

我相信你也可以看到一个进程的stdoutstderr,它被命令运行守护pm2 logs或者pm2 logs [app-name].

  • 接受这个答案,因为它解决了第一个被 `--no-daemon` 标志遗漏的日志 (2认同)

Mad*_*eka 11

您可以通过启动另一个终端/控制台并运行此命令来轻松实现

 pm2 log
Run Code Online (Sandbox Code Playgroud)

将所有内容记录到终端,除了 console.log

 pm2 logs
Run Code Online (Sandbox Code Playgroud)

将所有内容记录到终端和 console.log

注意第二个命令中的“s”


Fra*_*rus 10

找到了答案(他们的文档不是很好),只是添加了--no-daemon标志,似乎已经做到了.虽然,它似乎仍然在第一次正常运行时记录到文件(即使使用标志).一旦进程重新启动(我正在观察文件更改),它就开始注销到控制台


kha*_*iuk 5

以编程方式,您可以执行以下操作:

const pm2 = require('pm2')

pm2.connect(function(err) {
  if (err) {
    console.error(err);
    process.exit(2);
  }
  pm2.start([
    {
      script             : "server.js",
      output: "/dev/stdout",
      error: "/dev/stderr",
    },
  ]
    , function(err, proc) {
      if(err) {
        throw err
      }
    });
})
Run Code Online (Sandbox Code Playgroud)

  • 如果能用 stdOut 来控制台就好了!你们有人知道该怎么做吗? (3认同)