Supervisor: さまざまなプロセスからのログのタグ付け

作成日 2016年04月13日  ·  5コメント  ·  ソース: Supervisor/supervisor

私はsupervisord、nginx、nodejs api、sidekiqを使用して3つのプロセスを実行していますが、後でnodejs apiやsidekiqなどからのログのみをフィルタリングできるようにログにタグを付ける方法はありますか?

編集

Dockerコンテナ内で実行しているため、すべてのログをstdoutに入れたい

ありがとう

logging question

最も参考になるコメント

@ katsar0vと同じ

全てのコメント5件

supervisor-stdoutプラグインは、サブプロセス名のプレフィックスが付いたstdoutにサブプロセスログメッセージを出力します。

supervisord.confloglevel = debugを設定することで、サブプロセスログメッセージをstdoutに出力することもできますが、それによって他の多くのデバッグ情報も出力されます。

@mnaberez残念ながら、 supervisor-stdoutは、 Ubuntu16.04にapt-getを介してインストールされたスーパーバイザーでは機能しません。 エラーError: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout]スローします。

代替手段(pip経由でのインストール)ははるかに面倒です。 私は次のようなものでそれを実行することができました:

/path/to/supervisord -c /path/to/supervisord.conf

正しく実行されている:

stdout                           RUNNING   pid 1294, uptime 0:03:16
tornado-8000                     RUNNING   pid 1295, uptime 0:03:16
tornado-8001                     RUNNING   pid 1296, uptime 0:03:16

ただし、サブプロセス名の前には付けられません。 使用する場合

[supervisord]
nodaemon = true

構成ファイルでは、プレフィックスが出力に表示されますが、ログファイルには書き込まれません。

私はかなり標準的なセットアップ(いくつかのトルネードプロセスとsupervisor_stdout)を使用しています:

[program:tornado-8000]
command = /path/to/python myfile.py
stdout_events_enabled = true
stderr_events_enabled = true
...

[eventlistener:stdout]
command = /path/to/supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler

この問題または代替ソリューションに関する更新はありますか?

@ katsar0vと同じ

これに対する解決策も探しています。

このページは役に立ちましたか?
0 / 5 - 0 評価