I am using a simple unit test based test runner to test my Django application.
My application itself is configured to use a basic logger in settings.py using:
logging.basicConfig(level=logging.DEBUG)
And in my application code using:
logger = logging.getLogger(__name__)
logger.setLevel(getattr(settings, 'LOG_LEVEL', logging.DEBUG))
However, when running unittests, I'd like to disable logging so that it doesn't clutter my test result output. Is there a simple way to turn off logging in a global way, so that the application specific loggers aren't writing stuff out to the console when I run tests?
logging.disable(logging.CRITICAL)
will disable all logging calls with levels less severe than or equal to CRITICAL
. Logging can be re-enabled with
logging.disable(logging.NOTSET)