2010-06-27 17 views
13

Funktioniert die Protokollierung auf dem Dev-Server? Dieser Code löst keine Ausnahme aus, aber ich kann nicht sehen, wo die Protokolle in der devserver-Konsole angezeigt werden. Vielleicht schaue ich am falschen Ort?Google App Engine: Anmeldung in der Entwicklerkonsole?

logging.error("error has occurred") 
+0

Sie können erfahren Sie mehr über auf GAE Anmeldung für [Python hier] (http://code.google.com/appengine/docs/python/runtime.html#Logging) oder [Java hier] (http: //code.google.com/appengine/docs/java/runtime.html#Logging). –

+0

Vor einiger Zeit habe ich eine Feature-Anforderung für einen Protokoll-Viewer auf dem Dev-Server eingereicht. Sie können es hier abstimmen: http://code.google.com/p/googleappengine/issues/detail?id=3289 – hwiechers

Antwort

4

Ja, die Protokollierung funktioniert auf dem Dev-Server. Wenn dev_appserver.py über die Befehlszeile ausgeführt wird, sollten Sie die Ausgabe von protokollierten Aufrufen sehen, wie z. B. die, die Sie bei jedem Aufruf erwähnt haben.

Standardmäßig werden nur Protokollierungsnachrichten der INFO-Ebene und höher gedruckt.

Auch logging.error() löst keine Ausnahme beim Aufruf. Es protokolliert einfach die Zeichenfolge, die Sie übergeben, auf der "Fehler" -Ebene - auf dem Entwicklungsserver bedeutet dies im Grunde nur, dass es "ERROR" als Teil der Protokollierungsnachricht auf dem Entwicklungsserver drucken wird.

+0

Richtig, ich meinte, dass 'logging.error()' keine Ausnahme wie in a auslösen würde "Dies funktioniert nicht auf der Devserver" Ausnahme. Ich sehe die Schaltfläche "Protokollierung" im Devserver GUI-Fenster. Cool. Wie ändere ich, welche Nachrichtenebene gedruckt wird? –

+1

Sie können steuern, welche Ebene von Nachrichten mit ['logging.setLevel()'] (http://docs.python.org/library/logging.html#logging.Logger.setLevel) gedruckt wird. –

+0

Hmm .. Irgendwelche Hinweise darüber, wann der Logging-Dienst startet? In main.py machen Logging-Anweisungen es noch nicht. –

12

Stellen Sie sicher, dass Sie Ihren Logger erstellen. Das sollte funktionieren.

-Code

import logging 

logging.getLogger().setLevel(logging.DEBUG) 

logging.error("uuu") 
logging.info("ggg") 

von der CLI starten

$dev_appserver.py ~/workspace/helloworld/ 

Die Protokolle ich auf der CLI bekam ...

ERROR 2012-11-26 03:02:25,467 helloworld.py:89] uuu 
INFO  2012-11-26 03:02:25,467 helloworld.py:90] ggg 

Beachten Sie, dass dies auch für mich in Tornado arbeitet.

0

können Sie die Standard-Protokollebene konfigurieren, wenn die Server-Entwicklung beginnen:

dev_appserver.py --log_level=debug ... 

Von dev_appserver.py command-line arguments:

--log_level = ...

Die niedrigste Protokollebene, an denen Logging-Nachrichten werden in die Konsole geschrieben; Nachrichten der angegebenen Protokollierungsstufe oder höher werden ausgegeben. Mögliche Werte sind Debug, Info, Warnung, Fehler und kritisch.