Una instancia de clase utilizada automáticamente en todo el proceso.

El módulo de registro de Python, una vez importado e instanciado, será así durante todo el proceso, dentro de todos los módulos y subprocesos. ¿Cómo lograron ese efecto?

Ejemplo:

myapp.py

import logging import mylib def main(): logging.basicConfig(filename='myapp.log', level=logging.INFO) logging.info('Started') mylib.do_something() logging.info('Finished') if __name__ == '__main__': main() 

mylib.py

 import logging def do_something(): logging.info('Doing something') 

myapp.log

 INFO:root:Started INFO:root:Doing something INFO:root:Finished 

Cuando se importa un módulo por primera vez, el objeto del módulo cargado se coloca en sys.modules . Las importaciones posteriores encontrarán el objeto del módulo y no volverán a cargarlo.

El módulo de registro tiene una serie de atributos de módulo que mantienen el estado de configuración de registro después de la primera importación.