"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment se connecter à la fois au fichier et à la sortie standard à l'aide du module de journalisation Python ?

Comment se connecter à la fois au fichier et à la sortie standard à l'aide du module de journalisation Python ?

Publié le 2024-11-01
Parcourir:502

How to Log to Both File and Stdout using the Python Logging Module?

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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729249097. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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