Python:
Écrire sur l'erreur standard
Comment faire :
Utilisant sys.stderr
Le module intégré sys
de Python permet une écriture explicite sur stderr
. Cette approche est simple pour les messages d’erreur ou diagnostics basiques.
import sys
sys.stderr.write('Erreur : Quelque chose a mal tourné.\n')
Exemple de sortie (sur stderr) :
Erreur : Quelque chose a mal tourné.
Utilisant la fonction print
La fonction print
de Python peut rediriger sa sortie vers stderr
en spécifiant le paramètre file
. Cette méthode est utile pour tirer parti de la convivialité de print
lors de la gestion des messages d’erreur.
from sys import stderr
print('Erreur : Défaillance dans le module.', file=stderr)
Exemple de sortie (sur stderr) :
Erreur : Défaillance dans le module.
Utilisant le module logging
Pour une solution plus complète, le module logging
de Python peut diriger les messages vers stderr
et bien plus, tel que l’écriture dans un fichier ou la personnalisation du format des messages. Cette méthode est la meilleure pour les applications nécessitant différents niveaux de journalisation, de formatage des messages ou de destinations.
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Erreur : La connexion à la base de données a échoué.')
Exemple de sortie (sur stderr) :
ERROR:__main__:Erreur : La connexion à la base de données a échoué.
Bibliothèques tierces : loguru
loguru
est une bibliothèque tierce populaire qui simplifie la journalisation dans les applications Python. Elle dirige automatiquement les erreurs vers stderr
, parmi d’autres fonctionnalités.
Pour utiliser loguru
, installez-le d’abord via pip :
pip install loguru
Ensuite, incorporez-le dans votre script Python comme suit :
from loguru import logger
logger.error('Erreur : Impossible d'ouvrir le fichier.')
Exemple de sortie (sur stderr) :
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - Erreur : Impossible d'ouvrir le fichier.