Rediriger la sortie de l'enregistreur Python vers Stdout
Dans le module de journalisation de Python, les messages sont généralement écrits dans des fichiers journaux spécifiques en fonction de leur niveau de journalisation. Cependant, vous devrez peut-être que tous les messages de journal soient générés non seulement vers le fichier journal, mais également vers la sortie standard (stdout) à des fins de dépannage ou de surveillance.
Pour y parvenir, vous pouvez utiliser logging.StreamHandler() classe, qui vous permet de rediriger la sortie de journalisation vers stdout. Le processus implique l'ajout du StreamHandler au logger racine, qui contrôle tous les autres loggers.
Exemple de code :
<code class="python">import logging import sys # Retrieve the root logger root = logging.getLogger() # Set the root logger's logging level (optional, if needed) root.setLevel(logging.DEBUG) # Create a StreamHandler that redirects logging output to stdout handler = logging.StreamHandler(sys.stdout) # Set the logging level for the handler (optional, if needed) handler.setLevel(logging.DEBUG) # Define a formatter for the log messages formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # Set the formatter for the handler handler.setFormatter(formatter) # Add the StreamHandler to the root logger root.addHandler(handler)</code>
Avec ce code en place, tous les messages de journalisation générés par le logger.warning , logger.critical et logger.error seront écrites à la fois dans le fichier journal et sur la sortie standard, permettant un accès pratique aux messages d'erreur et d'avertissement cruciaux pendant les opérations de développement ou de surveillance.
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!