2013-10-12 18 views
6

Sto lavorando con Flask e Foreman per l'hosting di Heroku. Avvio il mio server locale digitando foreman start. Il mio problema è che voglio vedere i messaggi di errore del registro che il mio codice produce ma non ho trovato il modo giusto per farlo.Come registrare i messaggi di errore con Flask e foreman (heroku)?

Ho provato con un codice che ho trovato nella documentazione Flask come questo, ma non funziona nemmeno:

import logging 
from FileHandler import FileHandler 
file_handler = FileHandler("log.txt") 
file_handler.setLevel(logging.WARNING) 
app.logger.addHandler(file_handler) 

Qualsiasi idea di come essere in grado di leggere i messaggi di errore durante l'esecuzione de Flask con foreman start ?

risposta

8

Ho avuto un problema simile - alla fine il problema non era con Foreman, ma con l'utilizzo di una versione più recente di Gunicorn dove la registrazione della console era disabilitata di default (http://gunicorn-docs.readthedocs.org/en/latest/faq.html#why-i-don-t-see-any-logs-in-the-console).

cambiare il mio procfile da:

web: gunicorn app:app 

a

web: gunicorn --log-file=- app:app 

risolto il problema per me.

+0

MIO DIO (o GORD, dovrei dire?) - Ho cercato per due giorni questa risposta. Grazie. – Zack