Le setlevel spcifie le niveau minimum des traces qui seront effectivement diffusées vers les sorties.
Les fonctions de traces .info, .warning, .error sont associées avec un niveau de trace interne. Seule la dernière trace ne sera pas visible car son niveau (ici logging.DEBUG) est inférieur au niveau de trace minimale.
Pour modifier le format d'affichage, il suffit de modifier la configuration de base via la fonction basicConfig du module.
import logging
STR_FMT = '%(asctime)s - %(levelname)s : %(message)s'
DATE_FMT = '%d/%m/%Y %H:%M:%S'
logging.basicConfig(datefmt=DATE_FMT,format=STR_FMT, level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.info("hello")
logger.warning("Attention .....")
logger.error("Error ohlala!!")
logger.debug("Debug .......")
Ce qui donne ici, juste 2 traces:
24/01/2022 10:47:34 - WARNING : Attention .....
24/01/2022 10:47:34 - ERROR : Error ohlala!!