Node.js Forever不会创建日志文件

Nyx*_*nyx 10 javascript node.js forever

正在处理2个nodejs脚本forever.系统永远使用v0.11.1和节点v0.10.29

# forever list
info:    Forever processes running
data:        uid  command  script      forever pid   logfile                 uptime        
data:    [0] D34J userdown app/main.js 7441    10950 /root/.forever/D34J.log 0:2:31:45.572 
data:    [1] P0BX userdown app/main.js 11242   11261 /root/.forever/P0BX.log 0:2:20:22.157 
# forever logs 0
error:   undefined
# forever logs 1
error:   undefined
Run Code Online (Sandbox Code Playgroud)

问题:为什么forever缺少创建的日志文件?重新启动2个进程仍然不会创建任何日志文件...

该目录/root/.forever也不显示日志文件!

# ls -la /root/.forever
total 20
drwxr-xr-x 4 root root 4096 Jul  4 11:37 .
drwx------ 8 root root 4096 Jul 10 13:24 ..
-rw-r--r-- 1 root root  259 Jul 10 19:34 config.json
drwxr-xr-x 2 root root 4096 Jul  4 11:37 pids
drwxr-xr-x 2 root root 4096 Jul 10 17:12 sock
Run Code Online (Sandbox Code Playgroud)

Rod*_*ros 5

如果您启动节点进程且未forever your_script.js指定日志文件,forever则会将日志写入终端(或cmd在 Windows 上)。运行时显示的日志文件forever listforever logs不反映实际情况,因为它不是在该场景中创建的。但如果您指定日志文件,请遵循以下选项:

-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 -l console.log -e error.log your_script.log,它们将被创建。

如果您想forever自动创建日志文件,则必须将脚本作为守护进程启动,扩展名为forever start your_script.js. 在这种情况下,您还可以指定日志文件。

文档页面中,您可以看到所有命令行选项。

  • `永远启动 bin/www -e logs/error.log -l messages/logs.log` 不创建任何文件..知道出了什么问题吗? (3认同)