¿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.

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

 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