【发布时间】:2011-10-19 22:30:42
【问题描述】:
我必须在预先存在的系统中实现 Celery。之前版本的系统已经使用 Python 标准日志记录。
我的代码类似于下面的代码。进程一和进程二是非 Celery 函数,它们到处都在记录日志。如果发生不好的事情,我们正在使用日志记录来跟踪数据丢失。
@task
def add(x,y):
process_one(x,y)
process_two(x,y)
如何实现 Celery 并使用 Python 标准日志记录而不是 Celery 日志记录,这样我们的旧日志记录系统就不会丢失?
我尝试将 import logging 从 Python 更改为:logger = add.get_logger() 并将 logger 传递给所有函数,但我认为这不是一个好习惯。我需要另一个解决方案。
更新:要在 Celery 日志中添加应用程序日志,您可以执行:
$ manage.py celeryd -v 2 -B -s celery -E -l debug --traceback \
--settings=settings --logfile=/(path to your log folder)/celeryd.log
使用-l(日志记录)作为debug,我们的应用程序/Python 日志记录会自动包含在我们的 Celery 日志记录中:无需执行logger = add.get_logger()。
【问题讨论】:
标签: python django logging standards celery