20

我刚刚发现我的 nodejs 应用程序不断崩溃,所以我习惯于forever app.js启动我的应用程序并让它在崩溃时自动重新启动。

问题:console.log现在我的应用程序通过和运行时输出了很多有用的信息util.log。我曾经用来screen运行 node 应用程序,但现在我永远使用来运行 nodejs 应用程序,我再也看不到所有的输出了。

有没有办法实时查看 nodejs 应用程序的所有输出?

4

6 回答 6

35

直接使用永久命令:

forever logs app.js -f

它实时显示应用程序的输出和永久日志(显示检测到的更改和重启消息)。

于 2015-06-28T08:22:55.723 回答
34

您可以使用此 shell 命令实时观看日志文件。

 tail -f /path/to/logfile

不确定这是否是您需要的。

于 2012-04-29T01:39:21.973 回答
15

最简单的方法是

跑 :

forever logs // will give you list of log files
forever logs 0 -f // then just provide the index of log
于 2018-02-16T04:58:28.787 回答
3

如果您将--help标志传递给 Forever,您将看到以下示例:

forever -o out.log -e err.log my-script.js

-o-e定义标准输出和标准错误日志文件。

-o  OUTFILE      Logs stdout from child script to OUTFILE
-e  ERRFILE      Logs stderr from child script to ERRFILE

Forever 对于开发来说似乎有点矫枉过正。给Supervisor一个机会,看看你是否更喜欢它:

npm install -g supervisor
supervisor app.js
于 2016-01-07T17:19:08.697 回答
1

我在 AWS EC2 实例上运行 nodejs,这对我有用。注意:如果您是 root 所有者,则可以访问日志。所以首先使用sudo su然后

forever -a -o out.log -e err.log yourServerApp.js

它将尾随控制台日志(如果您从日志中跟踪事件消息)和错误日志。我希望它可以帮助某人。

于 2019-06-14T13:26:23.490 回答
1
linux : tail -f /path/to/logfile.log
windows : enter PowerShell -> Get-Content /path/to/logfile.log -Wait -Tail 1000
于 2020-08-21T01:08:07.583 回答