Maison >développement back-end >Tutoriel Python >Extensions au module Python Logging : ajout de fonctionnalités personnalisées
Le module de journalisation
python est un outil puissant pour enregistrer les événements et les erreurs dans les programmes. En étendant ce module, vous pouvez ajouter des fonctionnalités personnalisées pour améliorer les capacités de logginglogging et simplifier le débogage et la gestion des erreurs. Cet article vous guidera sur la façon d'étendre le module Logging pour répondre à vos besoins spécifiques.
Méthodes d'extension
Il existe deux manières principales d'étendre le module Logging :
logging.getLogger()
pour créer un nouvel enregistreur et le configurer avec des niveaux et des formateurs personnalisés. logging.LoggerAdapter()
pour créer une extension d'enregistreur qui ajoute des fonctionnalités personnalisées à son enregistreur parent. Ajouter des niveaux personnalisés
Peut être utilisé logging.addLevelName()
函数添加自定义级别。这允许您定义新级别的重要性,使其高于或低于现有的级别。例如,您可以添加一个名为 "TRACE" 的级别,其重要性高于 DEBUG
.
import logging # 添加自定义级别 logging.addLevelName(5, "TRACE")
Utilisez des niveaux personnalisés
Après avoir ajouté un niveau personnalisé, vous pouvez l'utiliser pour enregistrer des messages. Utilisez la fonction logger.log()
et spécifiez un niveau personnalisé :
# 使用自定义级别 logger.log(5, "自定义跟踪消息")
Créer des formateurs personnalisés
Le format des messages de journal peut être modifié en créant une classe de formateur personnalisée. Cette classe doit implémenter la méthode f<code>f<strong class="keylink">ORM</strong>at()
ORM
import logging # 创建自定义格式化程序类 class MyFormatter(logging.Formatter): def format(self, record): # 自定义格式化代码 return f"{record.levelname}: {record.message}"Utilisez un formateur personnalisé
Après avoir créé votre formateur personnalisé, vous pouvez le joindre à l'enregistreur :
# 使用自定义格式化程序 logger.handlers[0].setFormatter(MyFormatter())Utiliser l'extension de l'enregistreur
logging.LoggerAdapter()
L'extension Logger vous permet d'ajouter des fonctionnalités personnalisées à votre enregistreur existant. Vous pouvez utiliser
import logging # 创建新的日志记录器 logger = logging.getLogger("my_logger") # 创建日志记录器扩展 adapter = logging.LoggerAdapter(logger, {"extra_info": "额外信息"}) # 使用日志记录器扩展 adapter.info("扩展日志消息")Utiliser l'extension de l'enregistreur
extra
L'extension de l'enregistreur vous permet également d'ajouter des informations contextuelles supplémentaires aux messages de journalisation. Ces informations sont accessibles via le dictionnaire
# 从日志记录器扩展器访问额外信息 print(adapter.extra["extra_info"])Gestionnaire personnalisé
En plus d'étendre le module Logging, vous pouvez également créer des gestionnaires personnalisés pour gérer les messages de journalisation. Les gestionnaires personnalisés vous permettent de contrôler la manière dont les messages de journalisation sont traités, par exemple via des notifications par e-mail ou Slack.
import logging # 创建自定义处理程序类 class MyHandler(logging.Handler): def emit(self, record): # 自定义处理逻辑 pass # 将自定义处理程序添加到日志记录器 logger.addHandler(MyHandler())Résumé
Extensions Python
Le module Logging vous permet d'améliorer la fonctionnalité de journalisation en ajoutant des niveaux personnalisés, des formateurs, des gestionnaires et des extensions. En étendant ce module, vous pouvez simplifier le débogage, améliorer la gestion des erreurs et bénéficier d'une expérience de journalisation plus complète. 🎜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!