Determining if root logger is set to DEBUG level in Python?
--------------------------------------------------
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Puzzle Game 2 Looping
--
Chapters
00:00 Determining If Root Logger Is Set To Debug Level In Python?
00:28 Accepted Answer Score 128
00:41 Answer 2 Score 135
01:12 Answer 3 Score 3
01:17 Thank you
--
Full question
https://stackoverflow.com/questions/1987...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #logging #decorator
#avk47
    Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Puzzle Game 2 Looping
--
Chapters
00:00 Determining If Root Logger Is Set To Debug Level In Python?
00:28 Accepted Answer Score 128
00:41 Answer 2 Score 135
01:12 Answer 3 Score 3
01:17 Thank you
--
Full question
https://stackoverflow.com/questions/1987...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #logging #decorator
#avk47
ANSWER 1
Score 135
Actually, there's one better: use the code logging.getLogger().isEnabledFor(logging.DEBUG). I found it while trying to understand what to do with the result of getEffectiveLevel().
Below is the code that the logging module itself uses.
def getEffectiveLevel(self):
    """
    Get the effective level for this logger.
    Loop through this logger and its parents in the blogger hierarchy,
    looking for a non-zero logging level. Return the first one found. 
    """
    logger = self
    while logger:
        if logger.level:
            return logger.level
        logger = logger.parent
    return NOTSET
def isEnabledFor(self, level):
    """
    Is this logger enabled for level ‘level’?
    """
    if self.manager.disable >= level:
        return 0
    return level >= self.getEffectiveLevel()
ACCEPTED ANSWER
Score 128
logging.getLogger().getEffectiveLevel()
logging.getLogger() without arguments gets the root level logger.
http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel
ANSWER 3
Score 3
Just
logging.getLogger().level == logging.DEBUG