2010-06-27 4 views
6

Me gustaría una variable global para determinar si estoy en modo de depuración o no. ¿Es eso para lo que es __debug__? ¿Cómo lo configuro/leo en Google App Engine?Variable global para opciones de depuración y registro en GAE Python

Si uso logging.debug(), ¿eso se apagará automáticamente si no ejecuto la aplicación con debug=True?

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

Yo tampoco he averiguado cómo saber si estoy en modo de depuración. ¿Alguna vez fue capaz de encontrar una solución a este problema? –

+0

He mejorado tu título, espero que no te importe, ¡es solo que a I * three * realmente me gustaría una respuesta real a esto! – OJFord

Respuesta

5

__debug__ es una constante integrada definida por Python. El docs dice esto: "Esta constante es verdadera si Python no se inició con una opción -O. Las asignaciones a depurar son ilegales y generan un error de sintaxis. Consulte también la declaración de afirmación".

El debug=True que pasa al webapp.WSGIApplication está completamente separado.

Ninguno de estos afectará a logging.debug() tampoco. Puede usar logging.setLevel() para controlar cómo se maneja logging.debug().

+0

logging.setlevel no es recomendable para App Engine: el registrador en producción registra todo en registros separados, separados por nivel de todos modos. –

+0

Esto mejoraría si resumiera qué * debe * hacerse. 1) Deje '__debug__' solo, 2) Pase' debug = True' a la aplicación web, 3) .. ¿Qué * es * recomendable @NickJohnson? – OJFord