[英]Node.js Forever is not creating Log files
forever
處理2個nodejs腳本。 系統永遠使用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
問題:為什么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
如果您使用forever your_script.js
啟動節點進程並且未指定日志文件,則forever
會將您的日志寫入終端(或Windows上的cmd
)。 forever list
運行forever list
或forever 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
,像forever -l console.log -e error.log your_script.log
,它們將被創建。
如果您希望forever
為您自動創建日志文件,則必須將腳本作為守護程序forever start your_script.js
,並forever start your_script.js
。 在這種情況下,您還可以指定日志文件。
在docs頁面中,您可以看到所有命令行選項。
回答Shreejibawa(因為我還沒有評論)...
永遠對參數的順序非常敏感。 看一下他們的文檔,注意選項必須在腳本之前。
forever [action] [options] SCRIPT [script-options]
而不是: forever start bin/www -e logs/error.log -l logs/logs.log
嘗試: forever start -e /path/to/logs/error.log -l /path/to/logs/logs.log your_script.js
我在OSX中遇到了同樣的問題。 在OSX(至少)中,命令forever app.js
在前台啟動永久進程 ,並且不將日志寫入文件,即使提供了-l和-e也是如此。 在這種情況下, forever list
列出文件,即使它不存在, forever logs i
產生error: undefined
。
當永遠DAEMON使用forever start app.js
,日志文件會出現並可以使用forever logs i
查看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.