Spec-Zone.ru › Python 2.7

cgitb — Менеджер трассировки стека для CGI-скриптов

Новое в версии 2.2.

Модуль cgitb предоставляет специальный обработчик исключений для Python-скриптов. (Его название немного вводит в заблуждение. Изначально он был разработан для отображения подробной информации о трассировке стека в формате HTML для CGI-скриптов. Позже он был обобщён, чтобы также отображать эту информацию в простом текстовом формате.) После активации этого модуля, если возникнет необработанное исключение, будет отображён подробный отформатированный отчёт. Отчёт включает трассировку стека, показывающую фрагменты исходного кода для каждого уровня, а также значения аргументов и локальных переменных для текущих функций, чтобы помочь в отладке проблемы. Дополнительно вы можете сохранить эту информацию в файл вместо отправки её в браузер.

Чтобы включить эту функцию, просто добавьте следующее в начало вашего CGI-скрипта:

import cgitb
cgitb.enable()

Параметры функции enable() управляют тем, отображается ли отчёт в браузере и записывается ли отчёт в файл для дальнейшего анализа.

cgitb.enable([display[, logdir[, context[, format]]]])

Эта функция заставляет модуль cgitb взять на себя обработку исключений по умолчанию интерпретатором, задавая значение sys.excepthook.

Необязательный аргумент display по умолчанию равен 1 и может быть установлен в 0 для подавления отправки трассировки в браузер. Если присутствует аргумент logdir, отчёты о трассировке стека записываются в файлы. Значение logdir должно быть каталогом, в котором будут размещены эти файлы. Необязательный аргумент context — это количество строк контекста для отображения вокруг текущей строки исходного кода в трассировке стека; по умолчанию он равен 5. Если необязательный аргумент format равен "html", вывод отформатирован как HTML. Любое другое значение принуждает к выводу простого текста. Значение по умолчанию — "html".

cgitb.handler([info])

Эта функция обрабатывает исключение с использованием значений по умолчанию (то есть отображает отчёт в браузере, но не регистрирует его в файле). Это можно использовать, когда вы перехватили исключение и хотите сообщить о нём с помощью cgitb. Необязательный аргумент info должен быть кортежем из 3 элементов, содержащим тип исключения, значение исключения и объект трассировки стека, точно так же, как кортеж, возвращаемый sys.exc_info(). Если аргумент info не указан, текущее исключение извлекается из sys.exc_info().

© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/cgitb.html

Spec-Zone.ru

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