我一直试图弄清楚python记录器和芹菜记录器之间的区别,特别是下面命令之间的区别,但找不到一个好的答案.
我正在使用芹菜v3,django 1.10.
from celery.utils.log import get_task_logger
logger = get_logger(__name__)
...
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
...
import logging
logger = logging.get_logger(__name__)
芹菜文件(latest,v3.1)在这个主题上非常缺乏.
我已经查看了类似的问题,例如this one,但是仍然不清楚使用哪个,为什么要使用那个,特别是差异是什么.我正在寻找一个清晰,简洁的答案.
我也在我的生产环境中使用哨兵.这种选择如何影响您的哨兵日志?即these常用设置
最佳答案
从使用get_task_logger的经验来看,似乎可以为您提供一些重要的东西,特别是对于Sentry.
原文链接:https://www.f2er.com/python/438723.html>自动将任务名称添加到日志输出中
>能够将日志处理规则设置在比模块更高的级别(我相信它实际上将记录器名称设置为celery.task)
>对于Sentry设置来说,最重要的是它可以将日志记录挂钩到Sentry使用的日志处理程序中.
重要提示:有一个bit of extra config需要进入Sentry的Celery注册:
https://docs.sentry.io/clients/python/integrations/celery/
如果没有这些设置,您可能会遇到错误流入Sentry,但我认为这将为您提供最佳跟踪和详细信息,以确保通过throws
声明的预期异常等内容被正确忽略.