如何使用djcelery为celeryd启用日志文件的旋转?

时间:2010-10-04 14:59:20

标签: celery

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

  1. CELERYD_LOG_DEBUG = 'FALSE'
  2. CELERYD_LOG_FILE = R '的/ var /数/芹菜/ celeryd.log'
  3. CELERYD_LOG_LEVEL =“错误”
  4. 我查看了芹菜的设置文件,没有选项在配置中指定日志文件大小限制。即使代码看起来像使用StreamHandler而不是RotationHandler类。任何线索/提示?

    感谢。

2 个答案:

答案 0 :(得分:23)

对于Ubuntu上的日志轮换,如果您的芹菜登录/ var / log / celery / celeryd.log你可以使用像上面那样的配置来做 使用/etc/logrotate.d /.

进行每周日志轮换
/var/log/celery/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    copytruncate
}

答案 1 :(得分:1)

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