Souvent, lorsque je code, j'aime juste imprimer de petites choses (principalement la valeur actuelle des variables) sur la console. Je ne vois rien de tel pour Google App Engine, bien que je remarque que le lanceur Google App Engine dispose d'un terminal de journalisation. Existe-t-il un moyen d'écrire sur ledit terminal ou sur un autre terminal à l'aide de Google App Engine?
Vous voudrez utiliser le module logging
standard de Python.
import logging
logging.info("hello")
logging.debug("hi") # this won't show up by default
Pour voir les appels à logging.debug()
dans la console GoogleAppEngineLauncher Logs, vous devez d'abord ajouter l'indicateur --dev_appserver_log_level=debug
à votre application. Cependant, sachez que vous allez voir beaucoup de bruit de débogage provenant du kit de développement logiciel App Engine. Le ensemble complet de niveaux sont:
debug
info
warning
error
critical
Vous pouvez ajouter l'indicateur en double-cliquant sur l'application, puis en la déposant dans le champ Extra Flags.
Voir https://cloud.google.com/appengine/docs/python/requests#Python_Logging
et http://docs.python.org/library/logging.html
Vous voulez probablement utiliser quelque chose comme:
logging.debug("value of my var is %s", str(var))
@Manjoor
Vous pouvez faire la même chose en Java.
import Java.util.logging.Logger;
// ...
public class MyServlet extends HttpServlet {
private static final Logger log = Logger.getLogger(MyServlet.class.getName());
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
log.info("An informational message.");
log.warning("A warning message.");
log.severe("An error message.");
}
}
Voir "Journalisation" dans http://code.google.com/appengine/docs/Java/runtime.html
Si vous utilisez une version plus récente du serveur de développement Python (versions> 1.7.6 ou mars 2013 et versions ultérieures), il semble que ce soient les étapes à suivre:
Inclure les éléments suivants dans votre script,
import logging
logging.debug("something I want to log")
Et par cette page de documentation , définissez un indicateur en sélectionnant Edition> Paramètres d'application> Paramètres de lancement> Indicateurs de ligne de commande supplémentaires, puis en ajoutant
--log_level=debug
Vous devriez également jeter un coup d'œil à FirePython. Il vous permet d’obtenir des messages de journalisation du serveur dans Firebug.
http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/
Bonjour, j'utilise la version 1.8.6 de GoogleAppEngineLauncher. Vous pouvez utiliser un indicateur pour définir le niveau de journalisation des messages à afficher, par exemple pour les messages de débogage:
--dev_appserver_log_level debug
Utilisez-le au lieu de --debug
(voir @Christopher answer).
Découvrez mon interpréteur Python en ligne fonctionnant sur Google App Engine sur mon site Web, Apprendre Python . C'est peut-être ce que vous cherchez. Utilisez simplement print repr (variable) sur les choses que vous voulez regarder et exécutez autant de fois que vous le souhaitez.
Utiliser le module logging
est une bonne pratique, mais ce n'est pas obligatoire.
Vous pouvez simplement utiliser des print()
s tout à fait anciennes pour écrire dans la console de journalisation de Google App Engine.
J'espère que je réponds à la question. Les messages de journalisation sont imprimés dans le journal AppEngine plutôt que sur le terminal.
Vous pouvez le lancer en cliquant sur le bouton des journaux du lanceur AppEngine
GAE capturera l'erreur standard et l'imprimera sur la console ou dans un journal.
print >> sys.stderr, "Something to log."
Utilisez log.setLevel (Level.ALL) pour voir les messages
Le niveau de filtrage des messages par défaut semble être "erreur". Je n'ai vu aucun message de journal utile avant d'utiliser la méthode setLevel () pour rendre visibles les messages .info et .warning.
Le texte imprimé sur System.out n'apparaissait pas non plus. Cela semble être interprété comme un message de niveau log.info ().