¿Determinar si el registrador raíz está configurado en el nivel DEBUG en Python?

Si configuro el módulo de registro en DEBUG con un parámetro de línea de comando como este:

if (opt["log"] == "debug"): logging.basicConfig(level=logging.DEBUG) 

¿Cómo puedo saber más tarde si el registrador se configuró en DEBUG? Estoy escribiendo un decorador que progtwigrá una función si se le pasa el indicador Verdadero, y si no se asigna ningún indicador, por defecto imprime información de tiempo cuando el registrador raíz está configurado en DEBUG.

 logging.getLogger().getEffectiveLevel() 

logging.getLogger() sin argumentos obtiene el registrador de nivel raíz.

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

En realidad, hay uno mejor: use el código logging.getLogger().isEnabledFor(logging.DEBUG) . Lo encontré al tratar de entender qué hacer con el resultado de getEffectiveLevel() .

A continuación se muestra el código que utiliza el módulo de registro.

 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() 

Sólo

 logging.getLogger().level == logging.DEBUG