2010-06-06 18 views
25

Właśnie zaczynam budować aplikację Python dla Google App Engine. W środowisku localhost (na komputerze Mac)Uzyskiwanie logging.debug() do pracy w Google App Engine/Python

Próbuję wysłać informacje debugowania do konsoli GoogleAppEngineLauncher Log przez logging.debug(), ale nie jest wyświetlany. Jednak wszystko, co zostało wysłane przez, powiedzmy, logging.info() lub , jest widoczne. Próbowałem logging.basicConfig(level=logging.DEBUG) przed logging.debug(), ale bez skutku.

Czego mi brakuje?

Odpowiedz

3

flaga jest --log_level debug.

Konkretnie, start serwera dev z tej linii komend:

dev_appserver.py --log_level debug . 

można znaleźć te informacje, uruchamiając dev_appserver.py --help. Oto odpowiedni cytat z wyjścia polecenia:

--log_level {debug, info, ostrzeżenie, krytyczny błąd} poziom log poniżej której logu generowane kodem aplikacji nie będą wyświetlane na konsoli (domyślnie: info)

Korzystanie znak równości (tj --log_level=debug) będą również działać, ponieważ skrypt python google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py opiera się na module argparse, a drugi obsługuje obydwa pomieszczenia i znaku równości w taki sam sposób, jak podana w official doc.

+0

Według http://stackoverflow.com/a/17350827/242848, jest to '--log_level = debug' (ze znakiem" = "). Mógłbyś wyjaśnić/doublecheck i możliwe wskazanie jakiejś dokumentacji, a ja zmienię zaakceptowaną odpowiedź. – brainjam

+0

Dzięki za opinie. Zarówno '--log_level = debug', jak i' --log_level debug' działają, ze względu na sposób projektowania modułu pythonowego 'argparse'. Odpowiednio zredagowałem swoją odpowiedź. – lacton

+0

OK, to jest teraz zaakceptowana odpowiedź.Czy możesz zmienić swoje pierwsze zdanie, aby było mniej kłopotliwe. Na przykład. "zaakceptowana odpowiedź" -> "poprzednio zaakceptowana odpowiedź" – brainjam

8

Na wypadek, gdyby ktoś korzystał z Google Application Launchera systemu Windows. Argumentem dla debugowania można ustawić w menu Edycja> Ustawienia aplikacji

w dodatkowej Flagi linii poleceń, dodać --log_level = debug

+0

Próbowałem to zrobić, w ustawieniach uruchamiania. (dodatkowe flagi linii poleceń) umieszczam to i aktualizuję. Wydaje się, że nie ma tam dodatkowej flagi linii poleceń, zawsze jest pusta. – ADL

1

Inną alternatywą do ustawiania flagi log_level:

logging.getLogger().handlers[0].setLevel(logging.DEBUG) 
1

W zakładach Mac:

1) kliknij Edycja> Ustawienia aplikacji

2) skopiuj i wklej następujący wiersz do "ekstra" pola Flagi:

--log_level = debug

3) kliknij przycisk Aktualizuj

dzienniki debugowania będą teraz wyświetlane w dzienniku konsoli

Powiązane problemy