Googled y se veía en la documentación por defecto, pero no puedo entender por qué esto no produce tres líneas de registro:Python cruzada módulo de registro
# main.py
import logging
import apple
import banana
log = logging.getLogger('main')
log.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
log.addHandler(ch)
log.info("I'm in main!")
# apple.py
import logging
log = logging.getLogger('main.apple')
log.info("I'm here in apple!")
# banana.py
import logging
log = logging.getLogger('main.banana')
log.info("I'm here in banana!")
# output
2011-09-03 16:40:54,062 - main - INFO - I'm in main!
Pero el example in the logging documentation funciona bien.
¿Alguna idea?