console.logの出力をどこに永久に保存しますか?


105

私は永遠にインストールしてそれを使っています、それはかなり面白いと思います。

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

回答:


134

Foreverは出力にコマンドラインオプションを使用します。

-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

詳細はこちらをご覧ください


7
パラメータを指定せずに次のように使用した場合のデフォルトのパスは何forever myappですか?ありがとう!
AGamePlayer 2014年

3
文書化されていません-時間とともに変化したと思います。〜/ .foreverフォルダーに古いログが表示されます。しかし、私はごく最近更新しました。少なくとも私のMacでは、ログファイル名を指定しない場合、コンソールにconsole.logが書き込まれます。
bryanmac 2014年

1
-aは、ファイルがすでに存在する場合のオプションとしても必要です。forever -a -o out.log -e err.log my-script.js
swateek

2
LOGFILEとOUTFILEの違いは何ですか?私には、まったく同じ情報が含まれているようです!
ドミニク

3
@Dominic LOGFILEには、foreverプロセスからの出力を含むすべての出力が含まれます。OUTFILEには、子スクリプトからのstdoutのみが含まれます。
Joseph238 2017

81

永遠に、デフォルトでは、ログは~/.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

ただし、-lbryanmacで言及されているように、を指定することをお勧めします。


1
常にランダムなファイルとは限りません。起動時に--uidフラグでuidを指定した場合、指定したuidを使用してログファイルが作成されます。
ddelrio1986


12

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

> forever logs

または

> sudo forever logs

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



5

通常どおりforever start script.js 開始してコンソール/エラーログを確認する 必要があり ます。これをforever logs 使用するtail -f /path/to/logs/file.logと、永久に保存されているすべてのログのリストが出力されます。これを使用すると、ライブログがウィンドウに出力されます。ログの印刷を停止するには、Ctrl + Zを押します。


3

古い質問ですが、同じ問題に遭遇しました。ライブ出力を見たい場合は実行できます

forever logs

これにより、ログファイルのパスとスクリプトの数が表示されます。次に使用できます

forever logs 0 -f

0は、出力を表示するスクリプトの番号に置き換える必要があります。


1

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

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

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

FOREVER_ROOT=/etc/forever forever start index.js

0

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

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


0

bryanmacの回答に基づく。私はすべてのログを1つのファイルに保存し、それを末尾で読み取ります。これを行うには、シンプルですが効果的な方法です。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.