永远存储console.log输出在哪里?

时间:2014-01-09 13:08:29

标签: node.js forever

我永远安装并使用它,发现它很有趣。

但我意识到日志被放置在其他地方。有没有提示?

11 个答案:

答案 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",您可以看到日志文件的位置。

来源:https://github.com/foreverjs/forever

答案 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