Lorsque je consigne un événement avec logging.info
, il n'apparaît pas dans le terminal Python.
import logging
logging.info('I am info') # no output
En revanche, les événements enregistrés avec logging.warn
apparaissent dans le terminal.
import logging
logging.warn('I am warning') # outputs "I am warning"
Existe-t-il un changement de niveau d’environnement permettant d’imprimer logging.info
sur la console? Je veux éviter d’apporter des modifications à chaque fichier Python.
L'enregistreur racine a toujours le niveau AVERTISSEMENT par défaut. Essayez d'appeler
logging.getLogger().setLevel(logging.INFO)
et ça devrait aller.
Comme @ztyx a déclaré que le niveau de journalisation par défaut est AVERTISSEMENT. Vous devez le régler à un niveau inférieur
Vous pouvez le faire en utilisant logging.basicConfig et en configurant logger level :
logging.basicConfig(level=logging.DEBUG)
Les solutions ci-dessus ne fonctionnaient pas pour moi, mais le code ici a:
# set up logging to file
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='/temp/myapp.log',
filemode='w')
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
(J'ai omis des parties du code pour des raisons de lisibilité)