Чтобы полностью отключить ведение журнала :
logging.disable(sys.maxint) # Python 2
logging.disable(sys.maxsize) # Python 3
Чтобы включить ведение журнала :
logging.disable(logging.NOTSET)
Другие ответы обеспечивают обходные пути, которые не полностью решают проблему, такие как
logging.getLogger().disabled = True
и, для некоторых n
больше 50,
logging.disable(n)
Проблема с первым решением заключается в том, что оно работает только для корневого регистратора. Другие регистраторы, созданные, скажем, с помощью logging.getLogger(__name__)
, не отключаются этим методом.
Второе решение влияет на все журналы. Но он ограничивает выходной уровень уровнями выше указанного, поэтому его можно переопределить, войдя в систему с уровнем, превышающим 50.
Это можно предотвратить с помощью
logging.disable(sys.maxint)
, насколько я могу судить (после просмотра источника ), это единственный способ полностью отключить ведение журнала.