django – Supervisord / Celery输出日志

我正在使用主管来管理芹菜. celery的supervisor配置文件包含以下2个条目:

stdout_logfile = /var/log/supervisor/celery.log
stderr_logfile = /var/log/supervisor/celery_err.log

令我困惑的是,尽管Celery工作正常并且所有任务都已成功完成,但它们都写入了celery_err.log.我认为那只会是错误的. celery.log文件仅显示正常的芹菜启动信息.将成功完成任务的行为写入错误日志是否正确?

注意 – 任务肯定是成功完成的(发送电子邮件,制作数据库条目等).

最佳答案 我和你一样遇到了同样的现象.这是因为芹菜的登录机制.只需查看
celery logger source的setup_task_loggers方法即可.

If logfile is not specified, then sys.stderr is used.

那么,够清楚了吗?当未指定日志文件时,Celery使用sys.stderr.

解:

>您可以使用supervisord redirect_stderr = true标志将两个日志文件合并为一个.我正在使用这个.
>配置celery日志文件选项.

点赞