J'utilise le module python logging et je veux désactiver la consignation de la console pendant un certain temps mais cela ne fonctionne pas.Comment désactiver et réactiver la consignation de la console en Python?
#!/usr/bin/python
import logging
logger = logging.getLogger() # this gets the root logger
# ... here I add my own handlers
#logger.removeHandler(sys.stdout)
#logger.removeHandler(sys.stderr)
print logging.handlers
# this will print [<logging.StreamHandler instance at ...>]
# but I may have other handlers there that I want to keep
logger.debug("bla bla")
Le code ci-dessus affiche le « bla bla » sur stdout et je ne sais pas comment puis-je désactiver en toute sécurité le gestionnaire de la console. Comment puis-je être sûr de retirer temporairement le streamhandler de la console et pas un autre?
Cela fonctionne pour Python 3.5. Je vous remercie! –
Je ne pense pas que ce soit une bonne solution. Ne pas propager à des enregistreurs plus élevés pourrait avoir d'autres conséquences indésirables. – lfk
Si vous souhaitez filtrer uniquement le message en dessous d'un certain niveau de journal (par exemple, tous les messages 'INFO'), vous pouvez changer la deuxième ligne à quelque chose comme' logger.setLevel (logging.WARNING) ' –