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

소스 코드: Lib/cgitb.py


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()에서 얻습니다.