python – celery.utils.log中的get logger函数与日志记录有什么不同?

前端之家收集整理的这篇文章主要介绍了python – celery.utils.log中的get logger函数与日志记录有什么不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直试图弄清楚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.

>自动将任务名称添加到日志输出
>能够将日志处理规则设置在比模块更高的级别(我相信它实际上将记录器名称设置为celery.task)
>对于Sentry设置来说,最重要的是它可以将日志记录挂钩到Sentry使用的日志处理程序中.

重要提示:有一个bit of extra config需要进入Sentry的Celery注册

https://docs.sentry.io/clients/python/integrations/celery/

如果没有这些设置,您可能会遇到错误流入Sentry,但我认为这将为您提供最佳跟踪和详细信息,以确保通过throws声明的预期异常等内容被正确忽略.

猜你在找的Python相关文章