【发布时间】:2014-01-28 01:27:36
【问题描述】:
我永久安装并使用它,发现它很有趣。
但我意识到日志被放置在其他地方。有什么窍门吗?
【问题讨论】:
我永久安装并使用它,发现它很有趣。
但我意识到日志被放置在其他地方。有什么窍门吗?
【问题讨论】:
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
【讨论】:
forever myapp,默认路径是什么?谢谢!
默认情况下,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
但是,最好使用 -l 指定,如 bryanmac 所述。
【讨论】:
如果你运行命令“forever logs”,你可以看到日志文件在哪里。
【讨论】:
试试命令
> forever logs
或
> sudo forever logs
您将获得日志文件的位置
【讨论】:
这是一个老问题,但我遇到了同样的问题。如果你想看到实时输出,你可以运行
forever logs
这将显示日志文件的路径以及脚本的编号。然后你可以使用
forever logs 0 -f
0 应替换为您想查看其输出的脚本编号。
【讨论】:
这对我有用:
forever -a -o out.log -e err.log app.js
【讨论】:
需要正常做
forever start script.js
开始,并检查控制台/错误日志使用
forever logs
这将打印永久存储的所有日志的列表
然后您可以使用tail -f /path/to/logs/file.log,这会将实时日志打印到您的窗口。点击 ctrl+z 停止日志打印。
【讨论】:
Help 是您最好的救星,您可以调用一个日志操作来检查所有正在运行的进程的日志。
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
【讨论】:
默认情况下,forever 将它需要的所有文件放入 /$HOME/.forever。如果您想更改该位置,只需在永久运行时设置 FOREVER_ROOT 环境变量:
FOREVER_ROOT=/etc/forever forever start index.js
【讨论】:
您需要在要运行的文件名之前添加日志目标说明符。所以
forever -e /path/error.txt -o /path/output.txt 启动 index.js
【讨论】:
基于 bryanmac 的回答。我只是将所有日志保存到一个文件中,然后用 tail 读取它。简单但有效的方法。
forever -o common.log -e common.log index.js && tail -f common.log
【讨论】: