Définir des niveaux de log personnalisés
# Module logging
Salut,
Oui tu peux !
La façon la plus courante et la seule que j'ai vu de faire :
import logging
# Définir un niveau personnalisé entre INFO (20) et WARNING (30)
MON_NIVEAU = 25
logging.addLevelName(MON_NIVEAU, "MON_NIVEAU")
# Ajouter une méthode mon_niveau à la classe Logger
def mon_niveau(self, message, *args, **kwargs):
"""
Log un message avec le niveau MON_NIVEAU sur ce logger.
"""
if self.isEnabledFor(MON_NIVEAU):
self._log(MON_NIVEAU, message, args, **kwargs)
# Ajouter la méthode à la classe Logger
logging.Logger.mon_niveau = mon_niveau
# Exemple d'utilisation
if __name__ == "__main__":
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.DEBUG
)
logger = logging.getLogger("mon_application")
logger.debug("Ceci est un message DEBUG")
logger.info("Ceci est un message INFO")
logger.mon_niveau("Ceci est un message MON_NIVEAU personnalisé")
logger.warning("Ceci est un message WARNING")
logger.error("Ceci est un message ERROR")
logger.critical("Ceci est un message CRITICAL")
En gros le but c'est de définir un level entre DEBUG et INFO, de save le nouveau niveau, et d'ajouter une méthode à la classe Logger.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte