Я хотел бы иметь loglevel TRACE (5) для моего приложения, так как я не думаю, что debug()
достаточно. Кроме того, log(5, msg)
не то, что я хочу. Как добавить пользовательский лог-уровень в регистратор Python?
У меня есть mylogger.py
со следующим содержимым:
import logging
@property
def log(obj):
myLogger = logging.getLogger(obj.__class__.__name__)
return myLogger
В моем коде я использую его следующим образом:
class ExampleClass(object):
from mylogger import log
def __init__(self):
'''The constructor with the logger'''
self.log.debug("Init runs")
Теперь я хотел бы назвать self.log.trace("foo bar")
Заранее благодарим за помощь.
Изменить (8 декабря 2016 года): я изменил принятый ответ на pfa, который является IMHO, отличным решением, основанным на самом хорошее предложение от Эрика С.