2010-06-27 3 views
6

전역 변수를 사용하여 디버그 모드에 있는지 여부를 결정하고 싶습니다. 그게 __debug__이 대상입니까? Google App Engine에서 설정/읽으려면 어떻게해야합니까?GAE에서 디버그 옵션 및 로깅을위한 전역 변수 파이썬

logging.debug()을 사용하는 경우 debug=True과 함께 앱을 실행하지 않으면 자동으로 사용 중지 되나요?

application = webapp.WSGIApplication(# ... 
             debug=True) 
+0

나는 디버그 모드에 있는지 알 수있는 방법을 찾지 못했습니다. 이 문제에 대한 해결책을 찾을 수 있었습니까? –

+0

나는 당신의 타이틀을 향상 시켰습니다. 괜찮습니다. 단지 * 3 *이 실제 답변을 정말 좋아할 것입니다. – OJFord

답변

5

__debug__은 파이썬에 의해 정의 된 내장 상수입니다. docs은 "이 상수는 Python이 -O 옵션으로 시작되지 않은 경우 true이고, 디버그에 대한 할당은 불법이며 SyntaxError를 발생시킵니다.

debug=True에 전달하면 webapp.WSGIApplication은 완전히 별개입니다.

이들 중 어느 것도 logging.debug()에 영향을주지 않습니다. logging.setLevel()을 사용하여 logging.debug() 처리 방법을 제어 할 수 있습니다.

+0

App Engine에 대해서는 logging.setlevel을 사용하지 않는 것이 좋습니다. 프로덕션 환경의 로거는 모든 것을 별개의 로그에 기록하고 수준에 따라 구분합니다. –

+0

*해야 할 일을 요약하면 개선 될 것입니다. 1)'__debug__' 만 남겨두고, 2) webapp에'debug = True'를 전달하십시오. 3) @ * NickJohnson? – OJFord