Registro de Python: efectos inversos de deshabilitar ()

Los documentos de registro dicen que llamar al logging.disable(lvl) puede “reducir temporalmente la salida del registro en toda la aplicación”, pero tengo problemas para encontrar el “temporalmente”. Tomemos, por ejemplo, el siguiente script:

 import logging logging.disable(logging.CRITICAL) logging.warning("test") # Something here logging.warning("test") 

Hasta ahora, no he podido encontrar el Something here que volverá a habilitar el sistema de registro en su totalidad y permitirá que llegue la segunda warning . ¿Hay un revés para disable() ?

 logging.disable(logging.NOTSET) 

Basado en la respuesta de @unutbu, creé un administrador de contexto:

 import logging log = logging.getLogger(__name__) class SuppressLogging: """ Context handler class that suppresses logging for some controlled code. """ def __init__(self, loglevel): logging.disable(loglevel) return def __enter__(self): return def __exit__(self, exctype, excval, exctraceback): logging.disable(logging.NOTSET) return False if __name__ == "__main__": logging.basicConfig(level=logging.INFO) log.info("log this") with SuppressLogging(logging.WARNING): log.info("don't log this") log.warning("don't log this warning") log.error("log this error while up to WARNING suppressed") log.info("log this again")