15

我的 celery 配置文件中有以下设置:

  1. CELERYD_LOG_DEBUG='假'
  2. CELERYD_LOG_FILE=r'/var/log/celery/celeryd.log'
  3. CELERYD_LOG_LEVEL="错误"

我查看了 celery 的设置文件,并没有在配置中指定日志文件大小限制的选项。甚至代码看起来都使用 StreamHandler 而不是 RotationHandler 类。任何线索/提示?

谢谢。

4

2 回答 2

26

对于 Ubuntu 上的日志轮换,如果您的 celery 日志位于 /var/log/celery/celeryd.log 中,则可以使用上述配置通过 /etc/logrotate.d/ 进行每周日志轮换。

/var/log/celery/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    copytruncate
}
于 2011-05-25T11:34:37.233 回答
2

尝试使用[WatchedFileHandler][1]. 它注意到文件已被截断或以其他方式更改并重新打开文件。请注意,您必须设置CELERY_HIJACK_ROOT_LOGGER = False 然后自己设置此记录器,并自己在任务中执行 logging.getLogger('custom_logger')。请参阅这篇文章,了解 Celery 的内置日志配置如何不灵活且无法进行细粒度控制。

于 2012-08-28T07:34:29.183 回答