gpt4 book ai didi

Python-如何刷新日志? (django)

转载 作者:IT老高 更新时间:2023-10-28 20:26:34 32 4
gpt4 key购买 nike

我在 Google App Engine 上使用 Django-nonrel,这迫使我使用 logging.debug() 而不是 print()。

“日志”模块由 Django 提供,但我使用它而不是 print() 时遇到了麻烦。

例如,如果我需要验证变量x中保存的内容,我将把
logging.debug('x is: %s' % x).但是如果程序很快就崩溃了(没有刷新流),那么它就永远不会被打印出来。

所以为了调试,我需要在程序出错退出之前刷新 debug(),而这不会发生。

最佳答案

假设您只使用一个(或默认)处理程序,我认为这可能对您有用:

>>> import logging
>>> logger = logging.getLogger()
>>> logging.debug('wat wat')
>>> logger.handlers[0].flush()

不过,这在文档中有点不受欢迎。

Application code should not directly instantiate and use instances of Handler. Instead, the Handler class is a base class that defines the interface that all handlers should have and establishes some default behavior that child classes can use (or override). http://docs.python.org/2/howto/logging.html#handler-basic

这可能会消耗性能,但如果你真的卡住了,这可能有助于你的调试。

关于Python-如何刷新日志? (django),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176173/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com