cgitb ---CGI脚本的回溯管理器

源代码: Lib/cgitb.py


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

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

import cgitb
cgitb.enable()

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

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

此函数导致 cgitb 通过设置 sys.excepthook .

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

cgitb.text(info, context=5)

此函数处理由 info (包含以下结果的3元组 sys.exc_info() ,将其回溯格式设置为文本,并将结果返回为字符串。可选参数 context 是要在溯源代码的当前行周围显示的上下文行数;此值默认为 5 .

cgitb.html(info, context=5)

此函数处理由 info (包含以下结果的3元组 sys.exc_info() ,将其跟踪格式设置为HTML,并将结果返回为字符串。可选参数 context 是要在溯源代码的当前行周围显示的上下文行数;此值默认为 5 .

cgitb.handler(info=None)

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