Pratique pratique avec le module Python Logging : créer un système de journalisation complet

王林
Libérer: 2024-02-21 10:10:04
avant
1113 Les gens l'ont consulté

Python Logging 模块的动手实践:构建一个完整的日志记录系统

Logging, loggingenregistrement, débogage, application, développement

Création et utilisation de Logger

Le cœur du module Logging est la classe Logger. Pour commencer, vous devez créer une instance Logger :

importurs
logger=ursing.er()
Copier après la connexion

Vous pouvez utiliser l'attribut .name pour spécifier le Logger de votre journal :

logger=ursing.er("my_application")
Copier après la connexion

Niveau de journal : définir la gravité

Vous pouvez spécifier la gravité des entrées de journal en définissant l'attribut level sur l'un des niveaux intégrés. Les niveaux vont de DEBUG (le moins grave) à FATAL (le plus grave) comme suit :

level=ursing.L.DEBUG# 调试级别
level=ursing.L.INFO# 信息级别
level=ursing.L.WARNING# 告警级别
Copier après la connexion

Processeur : formater et propager les journaux

Un processeur est un composant qui récupère les journaux d'un enregistreur et les envoie vers une destination spécifique. Le processeur intégré offre une approche prête à l'emploi :

# 将日志信息发送到标准输出(终端)
handler=ursing.mhandler()
Copier après la connexion

Vous pouvez utiliser l'attribut .fORMatter pour personnaliser le format de vos journaux :

handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))
Copier après la connexion

Filtre : capturez uniquement les journaux qui vous intéressent

Les filtres vous permettent de capturer uniquement les journaux qui répondent à des critères spécifiques. Utilisez la classe Filtre : 

filter=ursing.r()
filter.re=rs.ur("ERROR")# 仅匹配“ERROR”级别的日志
Copier après la connexion

Mettez tout cela ensemble

Attachez des processeurs et des filtres à Logger pour créer un pipeline de journalisation complet :

logger.addhandler(handler, filter)
Copier après la connexion

Exemple pratique : un enregistreur complet

Considérons une application exécutée dans le fichier "example.py". Comme indiqué ci-dessous, nous utilisons le module Logging pour créer un enregistreur complet :

importurs
logger=ursing.er("my_example_app")

# 根级别为“INFO”
logger.level=ursing.L.INFO

# 创建一个到文件“app.log”的处理器
file_handler=ursing.FH("app.log",mode="a")
file_handler.er=ursing.er(ursing.F("%(asctime)s -%(levelname)s:%(message)s"))

# 创建一个到终端的处理器
console_handler=ursing.mhandler()
console_handler.er=ursing.er(ursing.F("%(message)s"))

# 将处理器附加到日志
logger.addhandler(file_handler)
logger.addhandler(console_handler)
Copier après la connexion

Dans une application, vous pouvez utiliser la méthode .log() pour écrire des informations dans le journal à un niveau spécifié :

logger.info("开始应用程序")
logger.error("应用程序遇到一个严重问题")
Copier après la connexion

Conclusion

Le module Logging vous offre un contrôle complet et flexible sur la journalisation des applications. Combinez cela avec les niveaux, processeurs et filtres appropriés, et vous pouvez créer une base de journalisation robuste et perspicace pour vous aider à isoler les problèmes, à suivre le comportement des applications et à optimiserles performances.

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