Если вы пользуетесь supervisord, то наверняка сталкивались с неудобством ротации логов в нём.
Типичная настройка в конфигурационном файле процесса в /etc/supervisor.d/ выглядит так:
stdout_logfile=/var/log/progam/process_%(process_num)02d.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=50
Логи складываются в отдельные файлы и ротируются по достижении размера в 100 мегабайт. Данный способ не очень удобен, особенно если нужно искать логи за определённую дату.
В этом случае на помощь приходит logrotate.
В конфигурационном файле процесса меняем опции логов:
stdout_logfile_maxbytes=0 stdout_logfile_backups=0
И добавляем в /etc/logrotate.d/processname:
/var/log/program/process_*.log { create 0600 root root su root root daily copytruncate compress missingok notifempty }
Теперь логи будут складываться в «суточные» файлы и автоматически сжиматься.