我使用supervisord來管理需要在後臺運行的php程序。該程序將事件記錄到文件worker_log
。這是很簡單的在supervisord.conf
配置此我使用:supervisord管理的程序的時間戳日誌
stderr_logfile=/var/log/supervisord/worker_log;
不過,我想對事件被寫入日誌時間戳自己。我無法控制php程序,所以裝飾它的日誌不是一種選擇。我想,我會做的是註釋掉上面的日誌記錄配置和裝飾通過命令行管道程序上司的命令配置:
command=php /www/myapp/worker.php 2>&1 | sed "s/^/`date` /" > /var/log/supervisord/worker_log;
運行此命令手動它似乎很好地工作。然而,supervisord似乎以某種方式阻止它正常運行,並且我無法說出如何。 worker.php
表現良好,但報告在此配置中被抑制。而且,因此,它當然不會添加時間戳。
有沒有人對此有足夠的瞭解,爲如何完成時間戳工人輸出的目標提供指導?
是點由外殼取代它可能是不支持管道的命令參數?或者可能是運行釋放終端時的命令,哪個supervisord不支持? –