Je voudrais avoir loglevel TRACE (5) pour mon application, car je ne pense pas que debug()
est suffisant. De plus log(5, msg)
n'est pas ce que je veux. Comment puis-je ajouter un loglevel personnalisé à un logger Python?Comment ajouter un niveau de log personnalisé à la fonction de journalisation de Python
J'ai un mylogger.py
avec le contenu suivant:
import logging
@property
def log(obj):
myLogger = logging.getLogger(obj.__class__.__name__)
return myLogger
Dans mon code, je l'utiliser de la manière suivante:
class ExampleClass(object):
from mylogger import log
def __init__(self):
'''The constructor with the logger'''
self.log.debug("Init runs")
J'aimerais maintenant appeler self.log.trace("foo bar")
Merci d'avance pour votre aide.
Modifier (8 décembre 2016): J'ai changé la réponse acceptée à pfa's qui est, à mon humble avis, une excellente solution basée sur la très bonne proposition de Eric S.
C'est la meilleure réponse car elle vérifie correctement le niveau de journalisation. –
Cela devrait être la réponse acceptée ... –
Certainement beaucoup plus informatif que la réponse actuelle. –