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.Необязательный аргумент 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().
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/cgitb.html