如何使用DEBUG选项启动pm2进程

时间:2017-09-08 13:14:37

标签: node.js express pm2

我有一个快速应用程序,我在终端启动时使用以下命令启用其中的调试日志:

DEBUG=custom:* npm start (on Ubuntu)
SET DEBUG=custom:* & npm start (on Windows)

在生产服务器上,我使用以下命令启动应用程序:

pm2 start bin/www -i 0

但是这不会在我的代码中启用debug日志,因此调试语句不会添加到日志中,只会将console.error()添加到日志文件中。如何在使用PM2启动应用程序时传递DEBUG=custom:*选项?

2 个答案:

答案 0 :(得分:2)

尝试DEBUG='custom:*' pm2 start bin/www -i 0

如果要重新启动现有进程,请添加--update-env标志:

DEBUG='custom:*' pm2 restart bin/www -i 0 --update-env

答案 1 :(得分:1)

Mikko是正确的,但是如果将其添加到package.json脚本中,将无法正常工作!

"scripts": {
    "start": "DEBUG='custom:*' pm2 start bin/www -i 0",
    ...
  },

因为DEBUG ='custom:*'被赋予pm2进程,而不是您的进程。因此,在这种情况下,您必须使用生态系统文件,并在生态系统文件中添加DEBUG设置,例如

"scripts": {
    "start": "pm2 start ecosystem.config.js",
    ...
  },

//in ecosystem.config.js add this
env: {
    NODE_ENV: 'development',
    DEBUG: 'custom:*'
},