cgitb — CGI 스크립트를 위한 트레이스백 관리자

소스 코드: Lib/cgitb.py

버전 3.11에서 폐지되었습니다, 버전 3.13에서 제거됩니다.: The cgitb module is deprecated (see PEP 594 for details).


cgitb 모듈은 파이썬 스크립트를 위한 특별한 예외 처리기를 제공합니다. (이 이름은 약간 오해의 소지가 있습니다. 원래는 CGI 스크립트를 위해 HTML로 광범위한 트레이스백 정보를 표시하기 위해 고안됐습니다. 나중에 이 정보를 일반 텍스트로도 표시하도록 일반화됐습니다.) 이 모듈이 활성화된 후, 잡히지 않는 예외가 발생하면, 자세한 형식의 보고서가 표시됩니다. 보고서에는 문제를 디버그하는 데 도움이 되도록, 현재 실행 중인 함수의 인자와 지역 변수의 값뿐만 아니라 각 수준의 소스 코드 발췌를 보여주는 트레이스백이 포함되어 있습니다. 선택적으로, 이 정보를 브라우저로 보내지 않고 파일에 저장할 수 있습니다.

이 기능을 활성화하려면, 단순히 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() 의 결과를 담은 3-튜플) 가 기술하는 예외를 처리하는데, 그 트레이스백을 텍스트로 포맷한 다음 결과를 문자열로 반환합니다. 선택적 인자 context 는 트레이스백에서 현재 소스 코드 행 주위에 표시할 문맥 행 수입니다. 기본값은 5 입니다.

cgitb.html(info, context=5)

이 함수는 info (sys.exc_info() 의 결과를 담은 3-튜플) 가 기술하는 예외를 처리하는데, 그 트레이스백을 HTML로 포맷한 다음 결과를 문자열로 반환합니다. 선택적 인자 context 는 트레이스백에서 현재 소스 코드 행 주위에 표시할 문맥 행 수입니다. 기본값은 5 입니다.

cgitb.handler(info=None)

이 함수는 기본 설정을 사용하여 예외를 처리합니다 (즉, 브라우저에 보고서를 표시하지만, 파일에 기록하지는 않습니다). 이것은 여러분이 예외를 잡았지만 cgitb를 사용해서 보고하고 싶을 때 사용할 수 있습니다. 선택적인 info 인자는 sys.exc_info() 에 의해 반환된 튜플과 똑같이, 예외 형, 예외 값, 트레이스백 객체를 포함하는 3-튜플이어야 합니다. info 인자가 제공되지 않으면, 현재 예외를 sys.exc_info()에서 얻습니다.