TIM*_*MEX 27 python django logging traceback
try:
print blah
except KeyError:
traceback.print_exc()
Run Code Online (Sandbox Code Playgroud)
我曾经像这样调试.我打印到控制台.现在,我想记录所有内容而不是打印,因为Apache不允许打印.那么,如何记录整个回溯?
Lin*_*Lin 51
您可以使用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")
Run Code Online (Sandbox Code Playgroud)
这将打印堆栈跟踪并将与apache一起使用.
如果您正在运行Django的主干版本(或1.3版本发布时),则会内置许多默认日志记录配置,这些配置与Python的标准日志记录模块集成在一起.为此,您需要做的就是import logging调用logger = logging.getLogger(__name__)然后调用logger.exception(msg),您将获得消息和堆栈跟踪.Google文档的Django的日志记录功能,和Python的logger.exception方法将方便引用.
如果您不想使用Python的日志记录模块,您也可以import sys编写sys.stderr而不是使用print.在命令行上,这将进入屏幕,当在Apache下运行时,它将进入您的错误日志.
| 归档时间: |
|
| 查看次数: |
15723 次 |
| 最近记录: |