2024-05-19 13:24:54 发布
网友
try: print blah except KeyError: traceback.print_exc()
我以前是这样调试的。我会打印到控制台。现在,我想记录所有内容而不是打印,因为Apache不允许打印。那么,我该如何记录整个回溯?
如果您运行的是Django的trunk版本(或者在发布时是1.3),那么有许多内置的默认日志记录配置与Python的标准日志记录模块集成在一起。为此,您只需import logging,调用logger = logging.getLogger(__name__),然后调用logger.exception(msg),就可以得到消息和堆栈跟踪。用于Django's logging functionality和Python's logger.exception method的文档将是方便的参考。
import logging
logger = logging.getLogger(__name__)
logger.exception(msg)
如果您不想使用Python的日志模块,也可以import sys和写入sys.stderr,而不是使用print。在命令行中,这将进入屏幕,在Apache下运行时,它将进入错误日志。
import sys
sys.stderr
可以使用python的日志记录机制:
import logging ... logger = logging.getLogger("blabla") ... try: print blah # You can use logger.debug("blah") instead of print except KeyError: logger.exception("An error occurred")
这将打印堆栈跟踪并与apache一起使用。
如果您运行的是Django的trunk版本(或者在发布时是1.3),那么有许多内置的默认日志记录配置与Python的标准日志记录模块集成在一起。为此,您只需
import logging
,调用logger = logging.getLogger(__name__)
,然后调用logger.exception(msg)
,就可以得到消息和堆栈跟踪。用于Django's logging functionality和Python's logger.exception method的文档将是方便的参考。如果您不想使用Python的日志模块,也可以
import sys
和写入sys.stderr
,而不是使用print。在命令行中,这将进入屏幕,在Apache下运行时,它将进入错误日志。可以使用python的日志记录机制:
这将打印堆栈跟踪并与apache一起使用。
相关问题 更多 >
编程相关推荐