Maison  >  Article  >  développement back-end  >  Module de journalisation Python : résolvez vos points de connaissances les plus difficiles

Module de journalisation Python : résolvez vos points de connaissances les plus difficiles

王林
王林avant
2024-03-08 09:22:02598parcourir

Le module de journalisation de

Python logging 模块:解决你最棘手的知识点问题

python est un outil puissant qui vous aide à enregistrer les événements et les messages dans vos applications. Il fournit une interface unifiée pour configurer et gérer les enregistrements log, vous permettant de gérer facilement les tâches de journalisation. Cet article examinera en profondeur le module de journalisation, abordera les points de connaissances courants et fournira des exemples pratiques.

Configurer la journalisation

Pour activer la journalisation, vous devez d'abord configurer un enregistreur. Cela peut être fait via la fonction logging.basicConfig(). Voici comment configurer un enregistreur de base :

import logging

# 配置日志记录
logging.basicConfig(
level=logging.INFO,
fORMat="%(asctime)s - %(levelname)s - %(message)s",
filename="my_log.log",
)

Dans cet exemple, nous avons défini le niveau de journalisation sur INFO et spécifié le format du message de journal et le nom du fichier journal.

Niveau de connexion

Le module

logging définit cinq niveaux de journalisation :

  • DEBUG
  • INFO
  • AVERTISSEMENT
  • ERREUR
  • CRITIQUE

Le niveau de journalisation détermine quels types de messages sont enregistrés. Par exemple, si vous définissez le niveau sur INFO, seuls les messages de niveau INFO et les messages de niveau supérieur (tels que AVERTISSEMENT et ERREUR) sont enregistrés.

Message du journal

Utilisez des fonctions telles que logging.info(), logging.warning() pour enregistrer les messages. Les messages peuvent contenir n'importe quelle chaîneou objet, par exemple : 

logging.info("这是信息消息.")
logging.warning("这是警告消息.")

Filtre

Les filtres vous permettent de contrôler quels messages sont enregistrés. Vous pouvez créer une classe de filtre personnalisée ou utiliser un filtre intégré tel que logging.Filter。下面的示例使用 logging.Filter pour filtrer les messages contenant une chaîne spécifique :

class MyFilter(logging.Filter):
def filter(self, record):
return "my_string" not in record.msg

logging.basicConfig(
...
filters=[MyFilter()]
)

Gestionnaire de journaux

Le gestionnaire de journaux est responsable du traitement des messages du journal. Le module de journalisation fournit divers gestionnaires intégrés, tels que logging.StreamHandlerlogging.FileHandler。以下是如何使用 logging.StreamHandler pour afficher les messages de journal sur la console :

handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
logging.getLogger().addHandler(handler)

Journalisation personnalisée

Le module de journalisation vous permet de créer des configurations et des gestionnaires de journalisation personnalisés. Vous pouvez personnaliser les formats de journalisation, créer des niveaux de journalisation personnalisés et utiliser une logique de filtrage et de traitement personnalisée.

Dépannage

La journalisation est essentielle pour le dépannage et le débogage des applications. En affichant les fichiers journaux, vous pouvez comprendre le comportement de l'application et identifier la source du problème. Voici quelques conseils de dépannage courants :

  • Vérifiez le fichier journal pour les messages d'erreur.
  • Utilisez logging.getLogger().getEffectiveLevel() pour vérifier le niveau de journalisation.
  • Vérifiez que le gestionnaire de journalisation est correctement configuré.
  • Utilisez des filtres pour affiner les messages du journal.

Conclusion

Le module de journalisation de

Python est un outil puissant qui peut améliorer les capacités de journalisation et de débogage de votre application. Grâce aux connaissances fournies dans ce guide, vous serez en mesure de configurer et d'utiliser efficacement le module de journalisation pour résoudre les défis de programmation les plus difficiles.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer