我不断地运行,使用的NodeJS永远几个服务器脚本(在不同的端口)。
有一些这些服务器的大量的流量。该命令的console.log我有跟踪连接异常导致,我并不需要所有的时间臃肿的日志文件 - 仅用于调试。我一直手动停止脚本深夜,截断文件,并重新启动它们。这不会长期做,所以我们决定找到一个解决方案。
有人在我的系统上的人删除我已经建立了每个服务器的日志文件,我不知情的情况。调用永远列出在命令行上显示服务器脚本仍在运行,但现在我不能尾日志文件怎么看的节点都在做。
节点的故障时间应保持在最低限度,所以我不敢随便停在白天的服务器超过了几分钟。从客户端初步测试似乎表明脚本正在做的很好,但我不能100%肯定没有由于在记录失败的尝试不存在的文件的错误。
我有几个问题实际上是:
谢谢你的时间。
根据https://github.com/foreverjs/forever,尽量-s传递给沉默的所有日志。
forever -s start YOURSCRIPT
当然,在此之前,试图永远更新到最新:
sudo curl -L https://npmjs.com/install.sh | sudo sh
sudo npm update -g
。
有一个极好的工具,可以帮助你,叫logrotate的。看看here
尤其是copytruncate选项,它是在你的情况是非常有用的。
1)只要建立一个定期的功能或管理选项来清除永远记录。从手动forever cleanlogs
2)至少为Linux。发送每个日志文件/dev/null
。每个日志类型由选项-l
-o
和-r
规定。对于-a
的append log
选项,将停止抱怨日志已经存在。
forever start -a -l /dev/null -o /dev/null -r /dev/null your-server.js
也许使用你自己的日志系统中,我使用log4js
,如果我删除日志文件,而节点进程仍在运行它不会抱怨。