supervisorctl tail
は、特定のプロセスのログ情報をどこから取得しますか?フルログを取得するにはどうすればよいですか?コマンドラインヘルプ(supervisorctl help tail
)から与えられたプロセスに対して `supervisorctl tail`はどのように機能しますか?
答えて
:
tail [-f] <name> [stdout|stderr] (default stdout) Ex: tail -f <name> Continuous tail of named process stdout Ctrl-C to exit. tail -100 <name> last 100 *bytes* of process stdout tail <name> stderr last 1600 *bytes* of process stderr
ので、デフォルトでは、tail
コマンドは、プロセスの標準出力をテール。完全なログを取得する必要がある場合は、stdout_logfile
option of the [program:x]
sectionが格納されている場所を判別します。同様にstderr_logfile
オプションがあります。
このオプションが設定されていないか、またはAUTO
に設定されている場合、プロセスが開始されるとログファイルが作成されますが、スーパーバイザが再起動するたびにクリーンアップされます。このファイルはthe [supervisord]
childlogdir
option(デフォルトではあなたのプラットフォームのTMP
directoryです)に設定されたディレクトリに作成され、生成されたファイル名は<program-name>-<stdout|stderr>---<supervisor-identifier>-<6-random-characters>.log
です。 varnish-stdout---supervisor-AqY52e.log
。
このように、stdoutログ全体にアクセスするには、固定ディレクトリにchildlogdir
オプションを設定する必要があります。これにより、正しい一時ディレクトリを検索する必要がなくなります。
ありがとうございました:3 – okuznetsov
偉大な答え!ちょうど私の問題を修正。 – shellbye
これは十分な質問です。 OPは 'supervisorctl tail'コマンドと' supervisord'によって管理されるプロセスとの関係について話しています。 –