2012-08-05 19 views
6

Czy istnieje jakiś sposób, aby config kolby app.logger z pliku konfiguracyjnym, jak:Jak skonfigurować kolbę app.logger z pliku konfiguracyjnego?

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

lub

logging.config.dictConfig(config_dict) 

więc mogę używać app.logger.info('some message') zalogować zarówno w trybie i rozwijać produkt.

+0

Ponieważ w kolbie jest używany standardowy moduł 'logging', powinny one zostać podpięte do góry. whathaveyoutried.com? – msw

+0

Próbowałem 'logging.config.dictConfig', ale to nie działa. – greatghoul

+1

Musisz podać więcej szczegółów na temat tego, co próbujesz - w przeciwnym razie trudno jest ustalić, jaki może być problem. –

Odpowiedz

1

Zmiana logging na linii 22 na app.logger - która skonfiguruje rejestrator dla bieżącej aplikacji Flask. Alternatywnie można użyć funkcji modułu rejestrowania o nazwie getLogger i użyć app.logger_name, aby pobrać prawidłowy rejestrator.

+2

Ciężko mi było to zrozumieć, ponieważ link kodu źródłowego jest martwy. Wtedy zdałem sobie sprawę, że wszystko, co musisz zrobić, to: Zainicjować najpierw rejestrator Flask, a następnie załadować metodę logging.config(). –

+1

@the_maplebar Czy możesz opublikować fragment kodu? – ramu

4

Najpierw należy zadzwonić pod numer app.logger, a następnie logging.config.dictConfig(config_dict). Nazwa rejestratora powinna być taka sama w config_dict i w app.logger_name

+1

Dziękuję, to działa! Czy możesz wyjaśnić, dlaczego jest to konieczne? – alex3772

+1

Okazuje się, że inicjalizacja 'app.logger' przed konfiguracją jest konieczna, ponieważ inicjalizacja' app.logger' wymazuje wcześniej dodane procedury obsługi. Więcej szczegółów w tym wydaniu github: https://github.com/pallets/flask/issues/641 –

Powiązane problemy