我安装并使用了forever,发现它很有趣。
但是我发现日志被放在了其他地方。有没有什么提示?
Forever接受命令行选项来控制输出:
-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
例如:
forever start -o out.log -e err.log my-script.js
点击此处了解更多信息。
默认情况下,Forever 会将日志放入 ~/.forever/
文件夹中的一个随机文件中。
您应该运行 forever list
命令以查看正在运行的进程及其对应的日志文件。
示例输出
>>> forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] 6n71 /usr/bin/node app.js 2233 2239 /home/vagrant/.forever/6n71.log 0:0:0:1.590
然而,最好还是像bryanmac提到的那样使用-l
进行指定。
尝试使用该命令
> forever logs
或者> sudo forever logs
您将获得日志文件的位置。
这是一个老问题,但我遇到了相同的问题。如果你想要看到实时输出,可以运行
forever logs
这将显示日志文件的路径以及脚本的编号。然后,您可以使用
forever logs 0 -f
0 应该替换成您想查看输出的脚本编号。
forever -a -o out.log -e err.log app.js
-a, --append
追加日志;您可以在此处查看其余选项(https://www.npmjs.com/package/forever)。 - HellBaby需要执行以下命令来启动:
forever start script.js
要检查控制台/错误日志,请使用
forever logs
这将打印 forever 存储的所有日志列表,
然后您可以使用 tail -f /path/to/logs/file.log
来实时打印日志到您的窗口。按下ctrl+z停止日志打印。
默认情况下,forever将所有需要的文件放置在/$HOME/.forever中。如果您想更改该位置,请在运行forever时设置FOREVER_ROOT环境变量:
FOREVER_ROOT=/etc/forever forever start index.js
帮助是你最好的救星,有一个logs操作可以调用,以检查所有正在运行的进程的日志。
forever --help
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
info: Logs for running Forever processes
data: script logfile
data: [0] server.js /root/.forever/79ao.log
data: [1] server.js /root/.forever/ZcOk.log
data: [2] server.js /root/.forever/L30K.log
基于bryanmac的回答。我只是把所有日志保存在一个文件中,然后使用tail命令读取它。这是一种简单但有效的方法。
forever -o common.log -e common.log index.js && tail -f common.log