我正在使用 supervisord 来管理一个需要在后台运行的 php 程序。该程序将事件记录到文件worker_log
中。supervisord.conf
在我正在使用的中配置它很简单:
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
执行良好,但在此配置中,它的报告被抑制。而且,正因为如此,它当然不会添加时间戳。
有没有人对此有足够的了解以提供有关如何实现为工人的输出加时间戳的目标的指导?