If I set the logging module to DEBUG with a command line parameter like this:
if (opt["log"] == "debug"):
logging.basicConfig(level=logging.DEBUG)
How can I later tell if the logger was set to DEBUG? I'm writing a decorator that will time a function if True flag is passed to it, and if no flag is given, it defaults to printing timing information when the root logger is set to DEBUG.
Just
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 ofgetEffectiveLevel()
.Below is the code that the logging module itself uses.
logging.getLogger()
without arguments gets the root level logger.http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel