Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Cellery.utils.log中的get logger函数与logging函数有什么不同?_Python_Django_Logging_Celery - Fatal编程技术网

Python Cellery.utils.log中的get logger函数与logging函数有什么不同?

Python Cellery.utils.log中的get logger函数与logging函数有什么不同?,python,django,logging,celery,Python,Django,Logging,Celery,我一直在试图找出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

我一直在试图找出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__)
芹菜文档(,)在这个主题上非常缺乏。 我已经研究过类似的问题,例如,但仍然不清楚该使用哪一个,为什么使用那个,以及具体的区别是什么。我在寻找一个清晰、简洁的答案


我还在我的生产环境中使用哨兵。这个选择如何影响你的哨兵日志?i、 e.使用
get\u task\u logger
获得的经验中的常见设置似乎能为您带来一些重要的东西,尤其是哨兵

  • 自动将任务名称前置到日志输出
  • 能够在更高级别上设置日志处理规则,而不仅仅是模块(我相信它实际上是将记录器名称设置为
    芹菜.task
  • 对于Sentry设置来说,最重要的可能是它将日志挂接到Sentry使用的日志处理程序中
重要提示:哨兵需要进入芹菜注册:


您可能可以在不使用此设置的情况下将错误导入Sentry,但我认为这将为您提供最佳跟踪和详细信息,并确保正确忽略通过声明的预期异常。

这很有帮助。在我接受之前,我要测试一下。您知道在tasks中调用的logger in函数(即util函数、manager函数等)是否也具有此属性吗?我的印象是否定的,除非它们也是用get_task_logger调用的。只是为了澄清一下,我需要在我的配置中放置一些类似于
'Cellery.task':{'level':'INFO','handlers':['console','sentry'],'propagate':False,},
,当我使用get_task_logger?@jmerkow时“您知道在任务中调用的logger in函数(即util函数、manager函数等)是否也具有此属性吗?”?“好问题。根据我在Sentry中看到的情况,它看起来像是从堆栈的下一层报告到他们正在使用的记录器的函数,尽管它们确实到达了Sentry,但与在正常执行中捕获相同的条目相比,在上下文中有点缺乏。我还可以说,我们的伐木工人对芹菜没有任何特殊处理。这个设置让事情顺利进行:@jmerkow与前面提到的芹菜配置组合,添加
sentry
作为根处理程序似乎就足够了: