Я использую supervisord для управления php-программой, которая должна работать в фоновом режиме. Эта программа регистрирует события в файле worker_log
. Это достаточно просто, чтобы настроить его в supervisord.conf
, который я использую:
stderr_logfile=/var/log/supervisord/worker_log;
Тем не менее, я хотел бы, чтобы события записывались в журнал в timestamp самостоятельно. Я не контролирую программу php, поэтому ее оформление не является вариантом. Я подумал, что я бы сделал это, прокомментировав приведенную выше конфигурацию регистрации и украсив программу через команды командной строки в конфигурации диспетчера диспетчера:
command=php /www/myapp/worker.php 2>&1 | sed "s/^/`date` /" > /var/log/supervisord/worker_log;
При запуске этой команды вручную это работает нормально. Однако супервизор как-то мешает ему нормально функционировать, и я не могу сказать, как это сделать. worker.php
работает отлично, но в этой конфигурации он отключается. И, из-за этого, он, конечно, не добавляет отметки времени.
Кто-нибудь знает об этом, чтобы дать указания о том, как выполнить задачу временного штампа рабочего вывода?