Skip to main content

21.3. cgitb — CGI脚本的跟踪管理器

源代码: Lib/cgitb.py


cgitb 模块为Python脚本提供了一个特殊的异常处理程序。 (它的名称有点误导,它最初设计用于在CGI脚本的HTML中显示大量的追溯信息,后来被推广到以纯文本形式显示这些信息。)激活此模块后,如果发生未捕获的异常,详细,格式化的报告将显示。该报告包括一个回溯,显示每个级别的源代码的摘录,以及当前运行的函数的参数和局部变量的值,以帮助您调试问题。或者,您可以将此信息保存到文件,而不是将其发送到浏览器。

要启用此功能,只需将它添加到CGI脚本的顶部即可:

import cgitb
cgitb.enable()

enable() 功能的选项控制报表是否显示在浏览器中,以及报表是否记录到文件以供以后分析。

cgitb.enable(display=1, logdir=None, context=5, format="html")

此函数使 cgitb 模块通过设置 sys.excepthook 的值来接管解释器对异常的默认处理。

可选参数 display 默认为 1,可以设置为 0,以禁止将追溯发送到浏览器。如果参数 logdir 存在,则将追溯报告写入文件。 logdir 的值应该是放置这些文件的目录。可选参数 context 是在回溯中显示在当前源代码行周围的上下文的行数;此默认为 5。如果可选参数 format"html",则输出的格式为HTML。任何其他值强制纯文本输出。默认值为 "html"

cgitb.handler(info=None)

此函数使用默认设置处理异常(即,在浏览器中显示报告,但不记录到文件)。这可以在您捕获异常并想要使用 cgitb 报告时使用。可选的 info 参数应该是包含异常类型,异常值和跟踪对象的3元组,与 sys.exc_info() 返回的元组完全相同。如果未提供 info 参数,则从 sys.exc_info() 获取当前异常。