Supervisor: Memberi tag pada log dari berbagai proses

Dibuat pada 13 Apr 2016  ·  5Komentar  ·  Sumber: Supervisor/supervisor

Saya menjalankan 3 proses menggunakan supervisord, nginx, nodejs api dan sidekiq, apakah ada cara untuk menandai log sehingga nanti saya hanya dapat memfilter log yang berasal dari api nodejs, atau sidekiq dan sebagainya?

EDIT

Saya ingin semua log masuk ke stdout karena saya menjalankan ini di dalam container buruh pelabuhan

Terima kasih

logging question

Komentar yang paling membantu

Ingin tahu yang sama seperti @ katsar0v . Ada solusi alternatif untuk ini?

Semua 5 komentar

Plugin supervisor-stdout akan mencetak pesan log subproses ke stdout yang diawali dengan nama subproses.

Anda juga dapat mencetak pesan log subproses ke stdout dengan menyetel loglevel = debug dalam supervisord.conf , tetapi itu juga akan mencetak banyak informasi debug lainnya.

@mnaberez Sayangnya, supervisor-stdout tidak berfungsi dengan supervisor yang diinstal melalui apt-get di Ubuntu 16.04. Itu melempar kesalahan Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout] .

Alternatifnya (menginstal melalui pip) jauh lebih rumit. Saya bisa menjalankannya dengan sesuatu seperti ini:

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

berjalan dengan benar:

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

tetapi tidak memberi awalan nama subproses. Jika saya menggunakan

[supervisord]
nodaemon = true

di file konfigurasi saya, saya mendapatkan awalan yang ditampilkan di output, tetapi tidak tertulis di file log.

Saya menggunakan pengaturan yang cukup standar (beberapa proses tornado dan supervisor_stdout) dengan:

[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

Apakah ada pembaruan tentang masalah ini atau solusi alternatif?

Ingin tahu yang sama seperti @ katsar0v . Ada solusi alternatif untuk ini?

Mencari solusi untuk ini juga.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat