Flacon de ne pas imprimer sur console
Je suis nouveau flacon, et je vais essayer d'ajouter les infos d'impression de débogage de code côté serveur.
Lors du lancement de mon flacon d'application avec debug=True, je ne peux pas obtenir aucune info sur imprimer pour console
J'ai essayé d'utiliser la journalisation de la place, mais sans succès.
Alors, comment déboguer flacon programme de la console.
@app.route('/getJSONResult', methods=['GET', 'POST'])
def getJSONResult():
if request.method == 'POST':
uut = request.form['uut']
notes = request.form['notes']
temperature = request.form['temperature']
logging.info("enter getJSONReuslt")
print('enter getJSONReuslt')
filter_by_query = {k: v for k, v in {
'uut': uut, 'notes': notes, 'temperature': temperature}.items() if v != ""}
s = session.query(UUT_TEST_INFO).filter_by(**filter_by_query).first()
return jsonify(s.serialize)
if __name__ == '__main__':
app.secret_key = ''.join(random.choice(
string.ascii_uppercase + string.digits) for x in range(32))
app.debug = True
app.run(host='127.0.0.1', port=5000)
> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /qyer HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /static/css/bootstrap.min.css HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /static/js/bootstrap.min.js HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:51] "GET /static/css/bootstrap.min.css.map HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:21:58] "POST /getJSONResult HTTP/1.1" 500 -
Je fixe côté serveur 500 erreur de numéro, la demande obtenir 200 code, et la console affiche les informations suivantes
$ python project.py
INFO:werkzeug: * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
INFO:werkzeug: * Restarting with stat
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger pin code: 158-624-607
INFO:werkzeug:127.0.0.1 - - [08/Jun/2017 11:33:33] "GET /qyer HTTP/1.1" 200 -
INFO:root:Enter getJSONResult
INFO:werkzeug:127.0.0.1 - - [08/Jun/2017 11:33:43] "POST /getJSONResult HTTP/1.1" 200 -
Toujours pas d'info à partir de la commande d'impression
Veuillez mettre à jour votre question avec votre code
qu'est-ce que l'erreur 500? Mettre une impression juste après
500 post délai d'attente de demande. il semble que les programmes est coincé dans getJSONResult, et ne pas obtenir une valeur de retour, et il bloque toutes les actions, même si j'ai mis de l'impression à la première ligne de la fonction. J'ai essayer de retourner une chaîne simple, tout fonctionne, mais il ne veut pas m'aider à déboguer le problème...
Quel est exactement le problème: vous ne pouvez pas imprimer à la console en mode debug ou vous ne pouvez pas mettre les journaux, car je peux voir les deux choses dans votre code.
qu'est-ce que l'erreur 500? Mettre une impression juste après
def getJSONResult():
ligne.500 post délai d'attente de demande. il semble que les programmes est coincé dans getJSONResult, et ne pas obtenir une valeur de retour, et il bloque toutes les actions, même si j'ai mis de l'impression à la première ligne de la fonction. J'ai essayer de retourner une chaîne simple, tout fonctionne, mais il ne veut pas m'aider à déboguer le problème...
Quel est exactement le problème: vous ne pouvez pas imprimer à la console en mode debug ou vous ne pouvez pas mettre les journaux, car je peux voir les deux choses dans votre code.
OriginalL'auteur X.Z | 2017-06-07
Vous devez vous connecter pour publier un commentaire.
Essayer cela et voir si cela aide:
Pour python2:
Pour python3 vous n'avez pas besoin d'importer de avenir print_function:
Voir si cela permet d'imprimer à la console.
a fonctionné pour moi, mais à l'aide de l'indicateur d'erreur
OriginalL'auteur Nurjan
Par défaut, le niveau de journalisation est d'avertissement. Si vous ne voyez pas un message de journalisation de niveau
DEBUG
. Pour corriger cela il suffit d'activer la journalisation du débogage avec lebasicConfig()
fonction du module de journalisation:l'impression doit en fait travailler tout le temps. Peut-être vous obtenez un message d'erreur avant d'atteindre la fonction d'impression.
Pouvez-vous montrer toute la stacktrace, 500 erreur se produit?
Je fixe le problème d'erreur 500, et avec succès obtenu des données renvoyées de getJSONResult fonction, mais stiil, je ne peux pas imprimer toutes les informations à la console
OriginalL'auteur MrLeeh
Eu le même problème d'impression. À l'aide de
sys.stdout.flush()
après laprint
résolu le problème.OriginalL'auteur GiedriusL