Connexion en Python

Connexion en Python

La journalisation est un outil très utile dans la boîte à outils d’un programmeur. Il peut vous aider à mieux comprendre le déroulement d’un programme et à découvrir des scénarios auxquels vous n’auriez peut-être même pas pensé pendant le développement.

Les journaux fournissent aux développeurs un ensemble supplémentaire d’yeux qui regardent constamment le flux qu’une application traverse. Ils peuvent stocker des informations, comme l’utilisateur ou l’adresse IP qui ont accédé à l’application. Si une erreur se produit, ils peuvent fournir plus d’informations qu’une trace de pile en vous indiquant l’état du programme avant d’arriver à la ligne de code où l’erreur s’est produite.

En enregistrant des données utiles aux bons endroits, vous pouvez non seulement déboguer facilement les erreurs, mais aussi utiliser les données pour analyser les performances de l’application pour planifier la mise à l’échelle ou consulter les modèles d’utilisation pour planifier le marketing.

Python fournit un système de journalisation dans le cadre de sa bibliothèque standard, vous pouvez donc ajouter rapidement la journalisation à votre application. Dans cet article, vous apprendrez pourquoi l’utilisation de ce module est le meilleur moyen d’ajouter la journalisation à votre application ainsi que comment démarrer rapidement, et vous obtiendrez une introduction à certaines des fonctionnalités avancées disponibles.

*Bonus gratuit:* lien: [5 réflexions sur la maîtrise de Python], un cours gratuit pour les développeurs Python qui vous montre la feuille de route et l'état d'esprit dont vous aurez besoin pour faire passer vos compétences Python au niveau supérieur.

Le module de journalisation

Le module de journalisation en Python est un module prêt à l’emploi et puissant conçu pour répondre aux besoins des débutants ainsi que des équipes d’entreprise. Il est utilisé par la plupart des bibliothèques Python tierces, vous pouvez donc intégrer vos messages de journal à ceux de ces bibliothèques pour produire un journal homogène pour votre application.

Ajouter la journalisation à votre programme Python est aussi simple que cela:

import logging

Avec le module de journalisation importé, vous pouvez utiliser quelque chose appelé un «enregistreur» pour enregistrer les messages que vous souhaitez voir. Par défaut, il existe 5 niveaux standard indiquant la gravité des événements. Chacun a une méthode correspondante qui peut être utilisée pour consigner les événements à ce niveau de gravité. Les niveaux définis, par ordre de gravité croissante, sont les suivants:

  • DÉBOGUER

  • INFO

  • AVERTISSEMENT

  • ERREUR

  • CRITIQUE

Le module de journalisation vous fournit un enregistreur par défaut qui vous permet de démarrer sans avoir besoin de faire beaucoup de configuration. Les méthodes correspondantes pour chaque niveau peuvent être appelées comme indiqué dans l’exemple suivant:

import logging

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')

La sortie du programme ci-dessus ressemblerait à ceci:

WARNING:root:This is a warning message
ERROR:root:This is an error message
CRITICAL:root:This is a critical message

La sortie affiche le niveau de gravité avant chaque message avec + root +, qui est le nom que le module de journalisation donne à son enregistreur par défaut. (Les enregistreurs sont décrits en détail dans les sections ultérieures.) Ce format, qui affiche le niveau, le nom et le message séparés par deux points (+: +), est le format de sortie par défaut qui peut être configuré pour inclure des éléments comme l’horodatage, numéro de ligne et autres détails.

Notez que les messages + debug () + et + info () + n’ont pas été enregistrés. En effet, par défaut, le module de journalisation enregistre les messages avec un niveau de gravité de + AVERTISSEMENT + ou supérieur. Vous pouvez changer cela en configurant le module de journalisation pour consigner les événements de tous les niveaux si vous le souhaitez. Vous pouvez également définir vos propres niveaux de gravité en modifiant les configurations, mais cela n’est généralement pas recommandé car cela peut entraîner une confusion avec les journaux de certaines bibliothèques tierces que vous utilisez peut-être.

Configurations de base

Vous pouvez utiliser la méthode + basicConfig (** + ` + kwargs +