Search code examples
pythonloggingdecoratorpython-logging

Determining if root logger is set to DEBUG level in Python?


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.


Solution

  • logging.getLogger().getEffectiveLevel()
    

    logging.getLogger() without arguments gets the root level logger.

    http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel