Écrire simultanément des journaux sur Stdout et un fichier journal en Python
Le contrôle de la sortie des journaux peut être essentiel pour le débogage et la capture d'informations vitales en Python. Le module de journalisation offre des fonctionnalités étendues pour enregistrer les messages dans des fichiers. Cependant, il peut être avantageux d'afficher également les journaux sur la console (stdout) pour une visibilité immédiate.
Solution :
Pour garantir que tous les messages de journalisation sont envoyés sur la sortie standard en plus du fichier journal désigné, vous pouvez étendre les fonctionnalités du module de journalisation en ajoutant un logging.StreamHandler() au logger racine.
Implémentation :
<code class="python">import logging import sys # Capture stdout stdout = sys.stdout # Create a root logger root = logging.getLogger() # Set the logging level (DEBUG in this case) root.setLevel(logging.DEBUG) # Define the StreamHandler handler = logging.StreamHandler(stdout) # Configure the message format formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) # Add the StreamHandler to the root logger root.addHandler(handler)</code>
Avec cette modification, tous les messages enregistrés à l'aide de méthodes telles que logger.warning, logger.critical et logger.error seront écrits à la fois dans le fichier journal configuré et affichés directement sur la sortie standard. Cela simplifie le dépannage et garantit que les messages sont facilement accessibles pour une inspection immédiate.
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!