我正在使用pm2运行节点网络服务器。由于pm2生成另一个进程并将stdout和stderr重定向到文件,因此我必须在其他地方查找日志。理想情况下,我希望将节点进程输出到我从中运行pm2的同一控制台窗口。否则,我会解决pm2使用活动控制台窗口运行节点进程并让节点进程的stdout和stderr写入该控制台窗口。怎么能实现这一目标?我在Windows机器上。
答案 0 :(得分:39)
我相信您还可以看到由pm2 logs
或pm2 logs [app-name]
命令运行守护进程的 stdout 和 stderr 。< / p>
答案 1 :(得分:9)
找到答案(他们的文档不是很好),只是添加了getString()
标志,似乎已经完成了。虽然,它似乎仍然在第一次正常运行时记录到文件(即使使用标志)。一旦进程重新启动(我正在观察文件更改),它就开始注销到控制台
答案 2 :(得分:4)
您可以通过启动另一个终端/控制台并运行此命令来轻松实现这一目标
pm2 log
// logs everything to the terminal except console.log
pm2 logs
// logs everything to the terminal even console.log
答案 3 :(得分:0)
通过编程,您可以执行以下操作:
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
}
});
})