2016-07-21 8 views
0

Ich versuche, die Python-Logging-Bibliothek zu verwenden, um Nachrichten in meiner Flaschen-App zu protokollieren. Die Protokollierung funktioniert außerhalb der Route wie erwartet, aber meine App protokolliert nichts auf einer Route. Irgendeine Idee, was ist los?Python Logging in Flasche funktioniert nicht in Route

import logging 

#logging 
logger = logging.getLogger('myApp') 
logger.setLevel(logging.INFO) 
fh = logging.FileHandler('log.log') 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
fh.setFormatter(formatter) 
logger.addHandler(fh) 

logger.info("Starting my application.") #this logs as expected 

@route('/myRoute', method='POST') 
def returnWord(): 
    userWord = (request.forms.get('submittedWord')).lower() 
    # this doesn't log anything 
    logger.info("testing logging inside route. word: %s" % (userWord)) 
    return template('<b>Hello {{name}}</b>!', name=userWord) 

if __name__ == "__main__": 
    daemon_run(host='0.0.0.0', port=8080) 
+0

Sind Sie sicher, dass Ihr Programm die Zeile "logger.info" erreicht? –

Antwort

0

Ihr Beispiel funktioniert für mich. Sie sind wahrscheinlich einen Fehler bekommen, bevor

logger.info("testing logging inside route. word: %s" % (userWord)) 

Hinweis auf die Linie erhalten, die Sie auf der Konsole die folgende Zeile sehen sollte, wenn Ihr POST gut gegangen

127.0.0.1 - - [17/August/2016 19.20.15] "POST/MyRoute HTTP/1.1" 200 20

Um sicherzustellen, dass Sie die richtige Spur eine einfache Funktion wie diese

hinzufügen eigen sind

Richten Sie Ihren Webbrowser auf localhost: 8080/testy und sehen Sie die Nachricht COOL. Jetzt sehen Sie auch die Protokollnachricht in Ihrer Datei.