2012-08-05 1 views
6

Esiste un modo per config pallone app.logger da un file di configurazione, come:Come configare la bottiglia app.logger da un file di configurazione?

logging.config.fileConfig('/path/to/logging.cfg') 

o

logging.config.dictConfig(config_dict) 

modo da poter utilizzare app.logger.info('some message') per accedere sia in modalità di sviluppare e di prodotto.

+0

Dato che il pallone usa il modulo di 'logging' standard, dovrebbero collegarsi direttamente. whathaveyoutried.com? – msw

+0

ho provato 'logging.config.dictConfig', ma non funziona. – greatghoul

+1

Devi pubblicare più dettagli su ciò che hai provato, altrimenti è difficile sapere quale potrebbe essere il problema. –

risposta

1

Cambia logging on line 22 to app.logger - che configurerà il logger per l'attuale app Flask. In alternativa, è possibile utilizzare la funzione getLogger del modulo di registrazione e utilizzare app.logger_name per estrarre il registratore corretto.

+2

È stato difficile per me capire perché il collegamento del codice sorgente è morto. Poi ho capito che tutto quello che devi fare è: Inizializza il logger Flask e poi carica logging.config(). –

+1

@the_maplebar Puoi pubblicare uno snippet – ramu

4

È necessario chiamare prima app.logger e quindi logging.config.dictConfig(config_dict). Il nome del logger dovrebbe essere lo stesso in config_dict e in app.logger_name

+1

Grazie, funziona! Potresti spiegare perché è necessario? – alex3772

+1

Si scopre che l'inizializzazione di 'app.logger' prima della configurazione è necessaria perché l'inizializzazione di' app.logger' cancella i gestori aggiunti in precedenza. Maggiori dettagli in questo problema github: https://github.com/pallets/flask/issues/641 –