是否在Django(Python)中阻止日志语句

时间:2015-12-18 06:38:18

标签: python django logging

是否会在Django视图中调用记录器块请求处理? 例如,在下面的示例中,第2行的logger.info()是否会阻止第3行的响应?

def random_view(request):
    xyz.do_something()
    logger.info("Does this block the next line execution?")
    return HttpResponse("Done")

我查看了Django logging documentationpython logging module docs,但我找不到这个问题的具体答案。

我理解Handler决定每条日志消息的去向,但我不确定Handler本身是否是非阻塞的。如果有人可以澄清或指出解释这一点的文件,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

来自Django Docs

  

Django使用Python的内置日志记录模块来执行系统日志记录。   Python本身详细讨论了该模块的用法   文档。

来自Python Docs

  

有时您必须让您的日志处理程序完成他们的工作   不阻塞您正在记录的线程。这在Web中很常见   应用程序,当然它也会出现在其他场景中。

所以,虽然没有明确提到,但日志记录确实似乎阻塞了。有关详细信息,请参阅Python文档。