20.3. cgitb — CGI 脚本的跟踪 Management 器

2.2 版中的新Function。

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

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

import cgitb
cgitb.enable()

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

  • cgitb. enable([* display * [,* logdir * [,* context * [,* format *]]]])
    • 该函数使cgitb模块pass设置sys.excepthook的值来接管解释程序的默认异常处理。

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

  • cgitb. handler([* info *])
    • 此函数使用默认设置处理异常(即,在浏览器中显示报告,但不登录文件)。当您捕获到异常并想使用cgitb报告它时,可以使用此方法。可选的* info 参数应为 3Tuples,其中包含异常类型,异常值和回溯对象,就像sys.exc_info()返回的 Tuples 一样。如果未提供 info *参数,则从sys.exc_info()获得当前异常。