Skip to content Skip to sidebar Skip to footer

Python Logging: Reverse Effects Of Disable()

The logging docs say that calling the logging.disable(lvl) method can 'temporarily throttle logging output down across the whole application,' but I'm having trouble finding the 't

Solution 1:

logging.disable(logging.NOTSET)    

Solution 2:

Based on the answer by @unutbu, I created a context manager:

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

Post a Comment for "Python Logging: Reverse Effects Of Disable()"