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

Barbara Streisand
Libérer: 2024-10-18 18:58:29
original
360 Les gens l'ont consulté

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 à stdout en plus de leurs destinations prévues.

Un exemple de configuration d'un gestionnaire de flux pour la sortie stdout :

<code class="python">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)</code>
Copier après la connexion

En implémentant cette configuration, il devient inutile de dupliquer les messages de journal en utilisant à la fois les méthodes logger 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal