Maison  >  Article  >  développement back-end  >  Comment se connecter à la fois au fichier et à la console en Python à l'aide de logging.StreamHandler ?

Comment se connecter à la fois au fichier et à la console en Python à l'aide de logging.StreamHandler ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-18 19:00:29496parcourir

How to Log to Both File and Console in Python Using logging.StreamHandler?

Connexion au fichier et à la console en Python

La journalisation Python offre des fonctionnalités robustes pour la gestion des messages. Par défaut, les messages sont généralement écrits dans un fichier journal désigné. Cependant, vous pouvez également souhaiter dupliquer ces messages sur la console, garantissant ainsi une visibilité immédiate lors de l'exécution du programme.

Pour y parvenir, utilisez la classe logging.StreamHandler, qui vous permet d'écrire des logs sortie vers sys.stdout, le flux de sortie standard. Suivez ces étapes :

  1. Importez le module de journalisation : Commencez par importer le module de journalisation dans votre script.
  2. Configurez un StreamHandler : Créez une instance de logging.StreamHandler et spécifiez la destination du flux de sortie, telle que sys.stdout pour la sortie de la console. Vous pouvez également définir le niveau du gestionnaire pour filtrer les messages qu'il traite.
  3. Définir le formateur : Définissez un objet logging.Formatter pour formater les messages de sortie. Vous pouvez spécifier la chaîne de format souhaitée pour personnaliser la présentation du message.
  4. Attachez le gestionnaire à l'enregistreur racine : ajoutez le StreamHandler configuré à l'enregistreur racine pour activer la journalisation des messages dans le fichier journal. et la console. Cela implique de définir son niveau et d'ajouter le gestionnaire.

Voici un exemple de configuration d'un StreamHandler :

<code class="python">import logging
import sys

# Create a StreamHandler using sys.stdout
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Define a formatter and set it on the handler
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root = logging.getLogger()
root.addHandler(handler)</code>

En mettant en œuvre ces étapes, vous pouvez facilement afficher tous les messages de journalisation au fichier journal et à la console, offrant une vue complète de l'activité de journalisation de votre application.

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!

Déclaration:
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