gpt4 book ai didi

python - 在 Celery 中使用 Python 标准日志记录

转载 作者:IT老高 更新时间:2023-10-28 21:13:12 27 4
gpt4 key购买 nike

我必须在预先存在的系统中实现 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 (logging) 作为 debug,我们的应用程序/Python 日志记录会自动包含在 Celery 日志记录中:无需执行 logger = add。 get_logger().

最佳答案

你可能想要这个设置:

CELERYD_HIJACK_ROOT_LOGGER = False

告诉我结果如何。

顺便说一句,它劫持根记录器的原因是因为一些写得不好图书馆设置日志记录,图书馆不应该做的事情,导致用户体验到 celeryd 没有输出 worker :(

关于python - 在 Celery 中使用 Python 标准日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com