2010-06-27 5 views
6

Vorrei una variabile globale per determinare se sono in modalità di debug o meno. È per questo che è __debug__? Come faccio a impostarlo/leggerlo su Google App Engine?Variabile globale per opzioni di debug e registrazione in GAE Python

Se uso logging.debug(), volontà che automaticamente essere spento se non corro l'app con debug=True?

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

Anche io non ho capito come sapere se sono in modalità di debug. Sei mai riuscito a trovare una soluzione a questo problema? –

+0

Ho migliorato il tuo titolo, spero non ti dispiaccia, è solo che io * tre * mi piacerebbe davvero una risposta reale a questo! – OJFord

risposta

5

__debug__ è una costante incorporata definita da Python. Lo standard docs dice: "Questa costante è vera se Python non è stato avviato con un'opzione -O Le assegnazioni a debug sono illegali e generano un errore SyntaxError. Vedere anche l'istruzione assert."

Il debug=True si passa a webapp.WSGIApplication è completamente separato.

nessuno di questi avrà effetto su logging.debug(). È possibile utilizzare logging.setLevel() per controllare come viene gestito logging.debug().

+0

logging.setlevel non è consigliabile per App Engine - il logger in produzione registra tutto in log separati, separati per livello. –

+0

Questo sarebbe migliorato se si riassumesse ciò che * dovrebbe * essere fatto. 1) Lascia solo '__debug__', 2) Passa' debug = True' a webapp, 3) .. Cosa * è * consigliabile @NickJohnson? – OJFord