Spec-Zone.ru › Python 3.6

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API