Как добавить пользовательский loglevel к средству входа Python

Я хотел бы иметь ТРАССИРОВКУ loglevel (5) для моего приложения, поскольку я не думаю это debug() достаточно. Дополнительно log(5, msg) не то, что я хочу. Как я могу добавить пользовательский loglevel к регистратору Python?

У меня есть a 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, который является, по моему скромному мнению, отличным решением на основе очень хорошего предложения от Eric S.

101
задан DennisLi 12 August 2019 в 07:50
поделиться