← retour aux snippets

logging.NullHandler: éviter les warnings dans une lib

Ajouter un NullHandler à un logger de bibliothèque pour silence par défaut.

python logging #logging#library

objectif

Ajouter un NullHandler à un logger de bibliothèque pour silence par défaut.

code minimal

import logging
log = logging.getLogger("mylib")
log.addHandler(logging.NullHandler())
print(any(isinstance(h, logging.NullHandler) for h in log.handlers))  # attendu: True

utilisation

import logging
logger = logging.getLogger("pkg"); logger.addHandler(logging.NullHandler())
print(len(logger.handlers) >= 1)

variante(s) utile(s)

import logging
root = logging.getLogger(); root.handlers.clear()
logger = logging.getLogger("lib"); logger.addHandler(logging.NullHandler())
print(True)

notes

  • Laissez l’application configurer les handlers; la lib ne doit pas loguer sur root.
  • Documentez le nom du logger pour que l’app puisse l’activer.