[python] logging -- matouci chovani
Vladimir Macek
macek na sandbox.cz
Středa Únor 18 00:29:22 CET 2015
Zdar,
mozna jste uz taky meli co do cineni s pythonskou hydrou zvanou logging ze
stdlib. A mozna jste jako ja narazili na chovani, ktere jste necekali a
pripadalo vam, ze jste blbi. Tyka se i Pythonu samotneho a tak posilam i do
jeho konference.
Kdyz jsem si chtel nastavit logovani v djangovskem projektu tak, ze ze
vsech loggeru vsech urovni chci videt hlasky v konzoli, zjistil jsem, ze to
nejde, i kdyz jsem mel nastaveno disable_existing_loggers na True.
Dokumentace logging modulu tvrdi, ze v takovem pripade budou existujici
loggery vypnuty.
Jenze se ukazuje, ze i kdyz je logger vypnuty, neukonci se aplikovani jeho
nastaveni propagate=False. Takze i vypnuty logger vesele blokuje putovani
logovane hlasi k root loggeru, ktery jste s nadeji na jednoduchou
konfiguraci nasmerovali do konzole... A to je pripade loggeru
django.request a django.security, ktere Django implicitne definuje.
Reportoval jsem jako bug, protoze podle me Django doc je v tomto silne
zavadejici:
https://code.djangoproject.com/ticket/24361
Jsou tam i odkazy na stranky, kde se to podrobneji vysvetluje a navrhuje
reseni s opravdovym resetem loggingu.
Snad to nekomu zachrani hodinu. :-)
--
: Vladimir Macek : http://macek.sandbox.cz : +420 608 978 164
: UNIX && Dev || Training : Python, Django : PGP key 97330EBD
Další informace o konferenci Python