supervisorctl tail
特定のプロセスのログ情報はどこから取得しますか? 完全なログを取得するにはどうすればよいですか?
1 に答える
コマンド ライン ヘルプから ( supervisorctl help tail
):
tail [-f] <name> [stdout|stderr] (デフォルトの stdout) 元: tail -f <name> 名前付きプロセスの stdout の継続的な末尾 Ctrl-C で終了します。 tail -100 <name> プロセス stdout の最後の 100 *bytes* tail <name> stderr last 1600 *bytes* of process stderr
したがって、デフォルトでは、tail
コマンドはプロセスの stdout を追跡します。完全なログを取得する必要がある場合は、セクションのstdout_logfile
オプションによって[program:x]
保存場所が決まります。stderr_logfile
オプションもあります。
このオプションが設定されていないか に設定されてAUTO
いる場合、プロセスの開始時にログファイルが作成されますが、supervisord が再起動するたびにクリーンアップされます。このファイルは、[supervisord]
childlogdir
オプションで設定されたディレクトリ (デフォルトではプラットフォームのTMP
ディレクトリ<program-name>-<stdout|stderr>---<supervisor-identifier>-<6-random-characters>.log
) に作成され、生成されたファイル名はvarnish-stdout---supervisor-AqY52e.log
.
したがって、stdout ログ全体にアクセスする場合は、少なくともchildlogdir
オプションを固定ディレクトリに設定して、適切な一時ディレクトリを検索する必要がないようにする必要があります。