Spec-Zone.ru › Python 3.7

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.text(info, context=5)

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

cgitb.html(info, context=5)

Эта функция обрабатывает исключение, описанное в info (тройке, содержащей результат sys.exc_info()), форматируя его отслеживание стека как HTML и возвращая результат в виде строки. Необязательный аргумент context — это количество строк контекста, которые необходимо отобразить вокруг текущей строки исходного кода в отслеживании стека; по умолчанию он равен 5.

cgitb.handler(info=None)

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

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

Spec-Zone.ru

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