【问题标题】:Are log statements blocking in Django (Python)Django (Python) 中的日志语句是否阻塞
【发布时间】:2015-12-18 06:38:17
【问题描述】:

在 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 本身是否是非阻塞的。如果有人能澄清或指出解释这一点的文档,将不胜感激。

【问题讨论】:

    标签: python django logging


    【解决方案1】:

    来自Django Docs

    Django 使用 Python 的内置日志记录模块来执行系统日志记录。 这个模块的用法在Python自己的有详细讨论 文档。

    来自Python Docs

    有时你必须让你的日志处理程序来完成他们的工作 不阻塞您正在登录的线程。这在网络中很常见 应用程序,当然它也发生在其他场景中。

    因此,虽然没有明确提及,但日志记录似乎确实是阻塞的。有关详细信息,请参阅 Python 文档。

    【讨论】:

    • 谢谢,我确实读过那行,但它并不明确。希望有人能最终说明这一点!
    • 在我看来,这里的问题是 Python 文档也很清楚地说明了解决这个问题的方法,而 Django 文档没有明确说明这些方法是否在 Django 中使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2012-05-24
    • 2020-05-18
    • 2014-11-16
    相关资源
    最近更新 更多