如何将节点程序的任何输出存储到特定文件?

我正在运行像这样的节点程序

sudo NODE_ENV=production node app.js& 

显然,一切正常,即使terminalclosures,它也能正常工作。 如果运行程序的terminal打开,输出将显示在terminal上。

它偶尔会输出一些数据,但是,如果原始terminal没有打开,我不能看到它,除非我全天候等待输出24小时。

我怎样才能redirect每个string输出从程序到特定的文件? 以便我能够找出可能的exception或意外终止节点程序的原因?

只需粘贴>> file

 sudo NODE_ENV=production node app.js >> log.txt & 
 sudo nohup node app.js > app_logs.out 

如果需要,也可以在上面的例子中使用NODE_ENV=production 。 nohup指“不挂断”。

资源:

Node.js作为后台服务
sudo nohup很好< – 以什么顺序?

例如永远使用 –

 forever start -l forever.log -o out.log -e err.log my-daemon.js 

哪里

-l LOGFILE Logs the forever output to LOGFILE -o OUTFILE Logs stdout from child script to OUTFILE -e ERRFILE Logs stderr from child script to ERRFILE

在这里你可以find所有需要的文件。