Make pm2 log to console

前端 未结 4 1003
滥情空心
滥情空心 2020-12-30 20:44

I am running a node webserver using pm2. Since pm2 spawns another process and redirects stdout and stderr to files, I have to look somewhere else for the logs. Ideally, I wo

相关标签:
4条回答
  • 2020-12-30 21:12

    I believe you can also see the stdout and stderr of a process that is running daemonized by the command pm2 logs or pm2 logs [app-name].

    0 讨论(0)
  • 2020-12-30 21:12

    programmatically you can do something like this:

    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
          }
        });
    })
    
    0 讨论(0)
  • 2020-12-30 21:16

    you can easily achieve that by starting another terminal/console and run this command

     pm2 log
     // logs everything to the terminal except console.log
    
     pm2 logs
     // logs everything to the terminal even console.log
    
    0 讨论(0)
  • 2020-12-30 21:20

    Found the answer (their documentation is not that great), just added the --no-daemon flag, seems to have done it. Although, it appears that it's still logging to the file (even when using the flag) on the first uptime. Once the process gets restarted (I'm watching for file changes) it starts logging out to the console

    0 讨论(0)
提交回复
热议问题