2012-08-05 19 views
6

¿Hay alguna forma en las configuraciones app.logger frasco de un archivo de configuración, como:Cómo configurar el matraz app.logger desde un archivo de configuración?

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

o

logging.config.dictConfig(config_dict) 

así que puedo utilizar para iniciar la sesión app.logger.info('some message') tanto en desarrollar y modo de producto.

+0

Dado que el matraz utiliza el módulo estándar 'logging', deben engancharse hacia arriba. whathaveyoutried.com? – msw

+0

intenté 'logging.config.dictConfig', pero no funciona. – greatghoul

+1

Debe publicar más detalles sobre lo que ha intentado; de lo contrario, es difícil saber cuál podría ser el problema. –

Respuesta

1

Cambie logging en la línea 22 a app.logger - que configurará el registrador para su aplicación Flask actual. Alternativamente, puede usar la función getLogger del módulo de registro y usar app.logger_name para extraer el registrador correcto.

+2

Fue difícil para mí entender esto ya que el enlace del código fuente está muerto. Luego me di cuenta de que todo lo que tienes que hacer es: Inicializar el registrador de Flask primero y luego cargar el logging.config(). –

+1

@the_maplebar ¿Puedes publicar un fragmento – ramu

4

Primero debe llamar al app.logger y luego a logging.config.dictConfig(config_dict). El nombre del registrador debe ser el mismo en config_dict y en app.logger_name

+1

Gracias, esto funciona! ¿Podría explicar por qué esto es necesario? – alex3772

+1

Resulta que es necesario inicializar 'app.logger' antes de configurar porque la inicialización de' app.logger' borrará los controladores agregados previamente. Más detalles en este número de github: https://github.com/pallets/flask/issues/641 –

Cuestiones relacionadas