私は永久にインストールして使用していますが、かなりおかしいと感じました。
しかし、ログは別の場所に置かれていることに気付きました。ヒントはありますか?
永遠に出力用のコマンドラインオプションを取ります:
-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 を参照してください
永久に、デフォルトでは、ログは~/.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
で指定するのが最善です。
「forever logs」コマンドを実行すると、ログファイルの場所を確認できます。
コマンドを試してください
> forever logs
または
> Sudo forever logs
ログファイルの場所を取得します
これは私のために働いた:
forever -a -o out.log -e err.log app.js
ヘルプが最善の救世主です。実行中のすべてのプロセスのログを確認するために呼び出すことができるログアクションがあります。
forever --help
コマンドを表示します
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
実行中の3つのプロセスに対する上記コマンドのサンプル出力。 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
Bryanmacの答えに基づきます。すべてのログを1つのファイルに保存してから、tailで読み取ります。これを行うためのシンプルだが効果的な方法。
forever -o common.log -e common.log index.js && tail -f common.log
実行するファイル名の前にログ宛先指定子を追加する必要があります。そう
永遠に-e /path/error.txt -o /path/output.txt start index.js
デフォルトでは、必要なすべてのファイルが/$HOME/.foreverに永久に配置されます。その場所を変更する場合は、永久に実行しているときにFOREVER_ROOT環境変数を設定するだけです。
FOREVER_ROOT=/etc/forever forever start index.js