Подтвердить что ты не робот

Как включить ротацию файлов журнала для celeryd с djcelery?

У меня есть настройки в моем файле конфигурации сельдерея:

  • CELERYD_LOG_DEBUG = 'FALSE'
  • CELERYD_LOG_FILE = г '/вар/журнал/сельдерей/celeryd.log'
  • CELERYD_LOG_LEVEL = "ОШИБКА"

Я просмотрел файл настроек сельдерея, и нет опций указать ограничение размера файла журнала в конфигурации. Даже код выглядит как его использование StreamHandler вместо класса RotationHandler. Любые подсказки/подсказки?

Спасибо.

4b9b3361

Ответ 1

Для вращения журнала на Ubuntu, если у вас есть журнал регистрации сельдерея /var/log/celery/ celeryd.log вы можете использовать конфигурацию, подобную приведенной выше. еженедельное вращение журнала с помощью /etc/logrotate.d/.

/var/log/celery/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    copytruncate
}

Ответ 2

Попробуйте использовать [WatchedFileHandler][1]. Он замечает, что файл был усечен или изменен в противном случае и снова откроет файл. Обратите внимание, что вы должны установить CELERY_HIJACK_ROOT_LOGGER= False, а затем настроить этот журнал самостоятельно и самостоятельно выполнить logging.getLogger('custom_logger') внутри задач. См. этот пост о том, как встроенная каротажная система Celery не является гибкой и для мелкозернистого управления.