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

소스 코드: Lib/cgitb.py

Deprecated since version 3.11, will be removed in version 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()`에서 얻습니다.