[Python-de] Fragge zu logging
Bastian Venthur
venthur at debian.org
Fr Jul 20 10:07:01 CEST 2007
Hi Liste,
ich hab hier ein komisches Problem mit loggern. Um es zu demonstrieren
hier ein minimales Beispiel:
=== main.py ===
import logging
import module1
if __name__ == "__main__":
logging.basicConfig(level=logging.DEBUG, format="%(name)-12s
%(levelname)-8s %(message)s")
logger = logging.getLogger()
logger.info("Logger initialized")
module1.foo()
=== module1.py ===
import logging
logger = logging.getLogger("module1")
logger.debug("Logger initialized")
def foo():
logger.debug("Entered foo()")
=== Ausgabe von python main.py ===
root INFO Logger initialized
module1 DEBUG Entered foo()
Meine Frage: Warum wurde logger.debug("Logger initialized") in
module1.py nicht ausgeführt? Ein print an der Stelle würde etwas ausgeben.
Das ist nur die minimale Varianbe meines Prolbems. Ich habe in einem
Projekt in jedem Modul auf Modulebene einen Logger (sie heißen alle
"logger"). Manchmal muss auf Modulebene aber außerhalb von Funktionen
etwas geloggt werden, und entweder kommt gar nichts oder z.B. innerhalb
eines try/exept Blockes auf Modulebene auch gerne mal eine Fehlermeldung
"No handlers could be found for logger foo". Innerhalb von Funktionen
dagegen gibt es keine Probleme.
Irgendwie versteh ich das nicht, kann mir jemand auf die Sprünge helfen?
Schöne Grüße,
Bastian
--
Bastian Venthur http://venthur.de
Debian Developer venthur at debian org
Mehr Informationen über die Mailingliste python-de