try:
print blah
except KeyError:
traceback.print_exc()
이렇게 디버깅하는 데 사용되었습니다. 콘솔에 인쇄합니다. 이제는 아파치가 인쇄를 허용하지 않기 때문에 print 대신 모든 것을 기록하고 싶습니다. 그럼,이 전체 추적을 어떻게 기록합니까?장고 로거 (Django 's logger)를 사용하여 어떻게 추적 할 수 있습니까?
import logging
...
logger = logging.getLogger("blabla")
...
try:
print blah # You can use logger.debug("blah") instead of print
except KeyError:
logger.exception("An error occurred")
이 스택 트레이스를 인쇄하고 아파치와 함께 작동합니다 :
이것은 실제로 전체 추적을 기록합니까? – TIMEX
예, 전체 스택 추적. 문서에서 : "Logger.exception()은 Logger.error()와 비슷한 로그 메시지를 생성하지만, Logger.exception()은 스택 추적을 덤프합니다." 이 링크는 설명서에 있습니다. http://docs.python.org/library/logging.html – Lin
로그는 어디에 저장됩니까? logger = logging.getLogger ('bla')를 정의했지만 특정 디렉토리로 저장합니까? 파일 또는 데이터베이스? – TIMEX