web-dev-qa-db-ja.com

console.log出力はどこに永久に保存されますか?

私は永久にインストールして使用していますが、かなりおかしいと感じました。

しかし、ログは別の場所に置かれていることに気付きました。ヒントはありますか?

92
AGamePlayer

永遠に出力用のコマンドラインオプションを取ります:

-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 を参照してください

124
bryanmac

永久に、デフォルトでは、ログは~/.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で指定するのが最善です。

75
Liyan Chang

「forever logs」コマンドを実行すると、ログファイルの場所を確認できます。

ソース: https://github.com/foreverjs/forever

19
JosMarRivera

コマンドを試してください

> forever logs

または

> Sudo forever logs

ログファイルの場所を取得します

11
Rifaideen

これは私のために働いた:

forever -a -o out.log -e err.log app.js
5
Zubair

ヘルプが最善の救世主です。実行中のすべてのプロセスのログを確認するために呼び出すことができるログアクションがあります。

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
1
bhupen.chn

Bryanmacの答えに基づきます。すべてのログを1つのファイルに保存してから、tailで読み取ります。これを行うためのシンプルだが効果的な方法。

forever -o common.log -e common.log index.js && tail -f common.log

0
Niko9911

実行するファイル名の前にログ宛先指定子を追加する必要があります。そう

永遠に-e /path/error.txt -o /path/output.txt start index.js

0
user450821

デフォルトでは、必要なすべてのファイルが/$HOME/.foreverに永久に配置されます。その場所を変更する場合は、永久に実行しているときにFOREVER_ROOT環境変数を設定するだけです。

FOREVER_ROOT=/etc/forever forever start index.js
0
Loup G