Démystifier le module de journalisation Python : maîtriser ses complexités

王林
Libérer: 2024-03-08 09:50:03
avant
1121 Les gens l'ont consulté

Le module de journalisation

破解 Python logging 模块的谜团:掌握其复杂性

python est un outil puissant qui peut être utilisé pour enregistrer des messages et des événements dans les applications Python. Sa complexité peut être intimidante pour les débutants, mais maîtriser ses fonctionnalités est essentiel pour gérer efficacement vos logenregistrements. Cet article approfondira le module de journalisation, le démystifiera et vous aidera à tirer le meilleur parti de ses capacités.

Concepts de base

  • Logger : Un objet qui peut être utilisé par une application pour générer des événements de journalisation.
  • Processeur : Un objet chargé d'écrire les événements de journalisation sur une cible (par exemple, un fichier, base de données).
  • Filtre : Un objet utilisé pour filtrer les événements de journalisation en fonction de critères spécifiques.
  • Niveau de journalisation : Un type d'énumération qui spécifie la gravité d'un événement de journalisation (par exemple DEBUG, INFO, ERROR).

Configurer la journalisation

La première étape de la configuration du module de journalisation consiste à créer le configurateur de journalisation. Il s'agit d'un objet global qui vous permet de spécifier des enregistreurs, des processeurs et des filtres. Voici un exemple de configuration :

import logging

# 创建一个 logging 配置器
logging.basicConfig(
level=logging.INFO,# 设置日志记录级别为 INFO
fORMat="%(asctime)s - %(levelname)s - %(message)s",# 设置日志记录格式
filename="my_app.log"# 设置日志文件路径
)
Copier après la connexion

Créer un enregistreur

Pour utiliser la journalisation dans votre application, vous devez créer un logger :

import logging

# 获取名为 "my_logger" 的日志记录器
logger = logging.getLogger("my_logger")
Copier après la connexion

Enregistrer les événements du journal

Vous pouvez enregistrer des événements à l'aide d'un enregistreur :

logger.debug("This is a debug message")
logger.info("This is an info message")
logger.error("This is an error message")
Copier après la connexion

Journalisation personnalisée

Le module Logging vous permet de personnaliser le comportement de journalisation. Vous pouvez spécifier des processeurs, des filtres et des niveaux de journalisation :

  • Processeurs : Vous pouvez ajouter plusieurs processeurs pour écrire des événements de journalisation vers différentes destinations (par exemple, fichier, console) :
handler = logging.FileHandler("custom.log")
logger.addHandler(handler)
Copier après la connexion
  • Filtres :Vous pouvez ajouter des filtres pour filtrer les événements de journalisation en fonction de critères spécifiques :
filter = logging.Filter()
filter.filter = lambda record: record.levelno == logging.INFO
logger.addFilter(filter)
Copier après la connexion
  • Niveau de journalisation : Vous pouvez définir le niveau de journalisation pour enregistrer uniquement les événements qui vous intéressent :
logger.setLevel(logging.WARNING)
Copier après la connexion

Autres fonctionnalités utiles

  • Espaces de noms :Vous pouvez créer des enregistreurs avec différents espaces de noms, ce qui est utile pour organiser la journalisation dans de grandes applications.
  • Classes de gestionnaire :  Le module Logging fournit des classes de gestionnaire intégrées telles que FileHandler et StreamHandler.
  • Formatter : Vous pouvez personnaliser le format des événements de journalisation, comme l'ajout d'un horodatage ou d'un thread ID.

Conclusion

Le module de journalisation Python est un outil puissant pour gérer la journalisation dans vos applications. En comprenant ses concepts sous-jacents, ses méthodes de configuration et ses options de personnalisation, vous pouvez maîtriser ses complexités et l'utiliser efficacement pour enregistrer et traiter les événements d'application.

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!

source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal