我永远安装并使用它,发现它很有趣。
但我意识到日志被放置在其他地方。有没有提示?
答案 0 :(得分:120)
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
有关详细信息,请参阅here
答案 1 :(得分:72)
默认情况下,默认情况下会将日志放入~/.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
来指定。
答案 2 :(得分:19)
如果您运行命令" forever logs",您可以看到日志文件的位置。
答案 3 :(得分:10)
尝试命令
> forever logs
或
> sudo forever logs
您将获得日志文件的位置
答案 4 :(得分:5)
需要做正常的事
forever start script.js
启动,并检查控制台/错误日志使用
forever logs
这将打印永久存储的所有日志的列表
然后你可以使用tail -f /path/to/logs/file.log
这将打印实时日志到你的窗口。点击ctrl + z停止日志打印。
答案 5 :(得分:4)
这对我有用:
forever -a -o out.log -e err.log app.js
答案 6 :(得分:2)
这是一个古老的问题,但我遇到了同样的问题。如果您想查看实时输出,可以运行
forever logs
这将显示日志文件的路径以及脚本的编号。然后,您可以使用
forever logs 0 -f
0应该替换为您想要查看其输出的脚本编号。
答案 7 :(得分:1)
帮助是您最好的救星,您可以调用日志操作来检查所有正在运行的进程的日志。
forever --help
显示命令
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
上述命令的示例输出,用于运行的三个进程。 console.log 输出存储在这些日志中。
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
答案 8 :(得分:0)
您需要在要运行的文件名之前添加日志目标说明符。所以
永远-e /path/error.txt -o /path/output.txt start index.js
答案 9 :(得分:0)
基于bryanmac的答案。我只是将所有日志保存到一个文件中,然后用尾巴读取它。简单但有效的方法。
forever -o common.log -e common.log index.js && tail -f common.log
答案 10 :(得分:0)
默认情况下,永远将所需的所有文件都放入/$HOME/.forever。如果您想更改该位置,只需在永远运行时设置FOREVER_ROOT环境变量即可:
FOREVER_ROOT=/etc/forever forever start index.js