我正在尝试让芹菜日志与 Django
一起工作。我有日志设置在 settings.py
到控制台(这工作良好,因为我是主机上的 Heroku
)。在每个模块的顶部,我有:
import logging
logger = logging.getLogger(__name__)
在我的任务中:
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
这对于记录任务的调用非常有效,我得到的输出如下:
2012-11-13T18:05:38+00:00 app[worker.1]: [2012-11-13 18:05:38,527: INFO/PoolWorker-2] Syc feed is starting
但是如果这个任务然后调用另一个模块中的一个方法,例如 queryset
方法,我就会得到重复的日志条目,例如。
2012-11-13T18:00:51+00:00 app[worker.1]: [INFO] utils.generic_importers.ftp_processor process(): File xxx.csv already imported. Not downloaded
2012-11-13T18:00:51+00:00 app[worker.1]: [2012-11-13 18:00:51,736: INFO/PoolWorker-6] File xxx.csv already imported. Not downloaded
我想我可以利用
CELERY_HIJACK_ROOT_LOGGER = False
只是使用 Django
日志,但这不工作,当我尝试它,即使我得到它的工作,我会失去的 "PoolWorker-6"
位,我想要的。(顺便说一句,我不知道如何在芹菜的日志条目中显示任务名称,因为 那些文件似乎表明应该这样做)。
我怀疑我错过了一些简单的东西。