Supervisor: Registros de marcação de processos diferentes

Criado em 13 abr. 2016  ·  5Comentários  ·  Fonte: Supervisor/supervisor

Estou executando 3 processos usando supervisord, um nginx, um nodejs api e um sidekiq, há alguma maneira de marcar os logs para que mais tarde eu possa filtrar apenas os logs vindos da api nodejs ou do sidekiq e assim por diante?

EDITAR

Quero que todos os logs entrem em stdout porque estou executando isso dentro de um contêiner do docker

Obrigado

logging question

Comentários muito úteis

Querendo saber o mesmo que @ katsar0v . Alguma solução alternativa para isso?

Todos 5 comentários

O plugin supervisor-stdout imprimirá mensagens de log do subprocesso no stdout prefixado com o nome do subprocesso.

Você também pode imprimir mensagens de log de subprocesso em stdout definindo loglevel = debug em supervisord.conf , mas isso também imprimirá muitas outras informações de depuração.

@mnaberez Infelizmente, supervisor-stdout não está funcionando com o supervisor instalado via apt-get no Ubuntu 16.04. Ele lança o erro Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout] .

A alternativa (instalar via pip) é muito mais complicada. Consegui executá-lo com algo assim:

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

funcionando corretamente:

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

mas não prefixa o nome do subprocesso. Se eu usar

[supervisord]
nodaemon = true

em meu arquivo de configuração, recebo o prefixo exibido na saída, mas não escrito nos arquivos de log.

Estou usando uma configuração bastante padrão (alguns processos tornado e supervisor_stdout) com:

[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

Existe uma atualização sobre este problema ou solução alternativa?

Querendo saber o mesmo que @ katsar0v . Alguma solução alternativa para isso?

Procurando uma solução para isso também.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

meshy picture meshy  ·  4Comentários

mnaberez picture mnaberez  ·  4Comentários

alexmnv picture alexmnv  ·  3Comentários

crybat picture crybat  ·  5Comentários

madmuffin1 picture madmuffin1  ·  4Comentários