cgitb
Менеджер трассировки для CGI сценариев
Модуль cgitb
предоставляет специальный обработчик исключений для Python скриптов. (Его название немного вводит в заблуждение. Первоначально он был разработан для отображения обширной информации о трассировке в HTML для CGI сценариев. Позже он был обобщен для отображения этой информации в виде обычного текста.) После активации данного модуля и возникновении неперехваченного исключения, будет отображаться отформатированный подробный отчёт. Отчёт включает в себя трассировку, показывающую выдержки из исходного кода для каждого уровня, а также значения аргументов и локальных переменных для текущих запущенных функций, чтобы помочь вам отладить проблему. При желании вы можете сохранить эту информацию в файл, а не отправлять её в браузер.
Чтобы включить эту функцию, просто добавить её в начало вашего CGI-скрипта:
Параметры функции 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 (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 должен состоять из трех кортежей, содержащих тип исключения, значение исключения и объект трассировки, в точности как кортеж, возвращаемый sys.exc_info()
. Если аргумент info не указан, текущее исключение получается из sys.exc_info()
.
Last updated