Connexion à la fois au fichier et à la sortie standard en Python avec le module de journalisation
Lors de l'utilisation du module de journalisation Python, il est souhaitable d'afficher les messages de journalisation non seulement vers le fichier journal spécifié, mais également vers la sortie standard pour une visibilité immédiate. Pour y parvenir, le module de journalisation fournit une solution simple.
La configuration de journalisation s'appuie sur des gestionnaires pour diriger la sortie. En ajoutant une instance logging.StreamHandler() au logger racine, il est possible d'envoyer des messages à la sortie standard en plus de leurs destinations prévues.
Un exemple de configuration d'un gestionnaire de flux pour la sortie stdout :
import logging
import sys
# Get the root logger
root = logging.getLogger()
# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)
# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
# Add the handler to the root logger
root.addHandler(handler)
En implémentant cette configuration, il devient inutile de dupliquer les messages de journal en utilisant à la fois les méthodes de journalisation et les instructions d'impression stdout. Les enregistreurs tels que mylogger.critical("something failed") afficheront à la fois le fichier journal désigné et la sortie standard, offrant une visibilité immédiate tout en maintenant des pratiques de journalisation appropriées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3