Supervisor: وضع علامات على السجلات من عمليات مختلفة

تم إنشاؤها على ١٣ أبريل ٢٠١٦  ·  5تعليقات  ·  مصدر: Supervisor/supervisor

أنا أقوم بتشغيل 3 عمليات باستخدام المشرف ، و nginx ، و nodejs api ، و sidekiq ، فهل هناك على أي حال لوضع علامة على السجلات بحيث يمكنني لاحقًا تصفية السجلات القادمة فقط من nodejs api ، أو sidekiq وما إلى ذلك؟

تعديل

أريد أن تدخل جميع السجلات إلى stdout لأنني أقوم بتشغيل هذا داخل حاوية عامل إرساء

شكرا

logging question

التعليق الأكثر فائدة

أتساءل نفس @ katsar0v . أي حل بديل لهذا؟

ال 5 كومينتر

سيطبع المكون الإضافي supervisor-stdout رسائل سجل العملية الفرعية إلى stdout مسبوقة باسم العملية الفرعية.

يمكنك أيضًا طباعة رسائل سجل العملية الفرعية إلى stdout عن طريق تعيين loglevel = debug في supervisord.conf ، ولكن هذا سيطبع أيضًا الكثير من معلومات التصحيح الأخرى.

mnaberez لسوء الحظ ، لا يعمل supervisor-stdout مع المشرف المثبت عبر apt-get على Ubuntu 16.04. يطرح الخطأ Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout] .

البديل (التثبيت عبر النقطة) أكثر تعقيدًا. تمكنت من تشغيله بشيء مثل هذا:

/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

في ملف التكوين الخاص بي ، أحصل على البادئة معروضة في الإخراج ، لكن لم يتم كتابتها في ملفات السجل.

أنا أستخدم إعدادًا قياسيًا إلى حد ما (عمليتان من عمليات الإعصار والمشرف_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 التقييمات