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

AGa*_*yer 98 node.js forever

我永远安装并使用它,发现它非常有趣.

但我意识到日志被放置在其他地方.有什么提示吗?

bry*_*mac 126

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
Run Code Online (Sandbox Code Playgroud)

例如:

forever start -o out.log -e err.log my-script.js
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参见此处

  • 如果我没有指定任何参数但只是像`forever myapp`那样使用默认路径是什么?谢谢! (6认同)
  • 我没有看到它的记录 - 我认为它随着时间的推移而改变.我在〜/ .forever文件夹中看到旧日志.但是我最近更新了,至少在我的mac上更新了如果我没有指定日志文件名,它会将console.log写入终端. (3认同)
  • @Dominic LOGFILE包括**所有**输出,包括永久进程的输出,OUTFILE只包含来自子脚本的stdout. (3认同)
  • LOGFILE 和 OUTFILE 有什么区别?对我来说,它们似乎包含完全相同的信息! (2认同)

Liy*_*ang 76

默认情况下,永远会将日志放入文件~/.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
Run Code Online (Sandbox Code Playgroud)

但是,最好-l用bryanmac提到的那个来指定.


小智 19

如果运行命令"forever logs",则可以看到日志文件的位置.

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


Rif*_*een 11

尝试命令

> forever logs
Run Code Online (Sandbox Code Playgroud)

要么

> sudo forever logs
Run Code Online (Sandbox Code Playgroud)

您将获得日志文件的位置


kha*_*han 6

这是一个老问题,但我遇到了同样的问题。如果你想看到实时输出,你可以运行

forever logs
Run Code Online (Sandbox Code Playgroud)

这将显示日志文件的路径以及脚本的编号。然后你可以使用

forever logs 0 -f
Run Code Online (Sandbox Code Playgroud)

0 应替换为您要查看其输出的脚本编号。


小智 5

这为我工作:

forever -a -o out.log -e err.log app.js
Run Code Online (Sandbox Code Playgroud)


Ban*_*lwa 5

需要正常 forever start script.js 启动,并检查控制台/错误日志使用 forever logs 此将打印永久存储的所有日志的列表,然后您可以使用tail -f /path/to/logs/file.log,这将打印实时日志到您的窗口.点击ctrl + z停止日志打印.