Table des matières
LogNiveau" >PersonnaliséLogNiveau
Créer des gestionnaires personnalisés
Formater les messages du journal
Maison développement back-end Tutoriel Python Guide avancé du module Python Logging : personnalisation et optimisation de la journalisation

Guide avancé du module Python Logging : personnalisation et optimisation de la journalisation

Feb 21, 2024 am 10:10 AM
优化 日志记录 自定义 gestionnaire formateur grade

Python Logging 模块高级指南:自定义和优化日志记录

python Guide avancé du module de journalisation

Le module de journalisation

Python prend en charge les niveaux de journalisation personnalisés, permettant aux développeurs de créer des niveaux spécifiques selon les besoins. Pour personnaliser le niveau de journalisation, utilisez la fonction logging.addLevelName() :

import logging

# 定义自定义日志等级
CUSTOM_LEVEL = 35

# 为自定义等级添加名称
logging.addLevelName(CUSTOM_LEVEL, "CUSTOM")
Copier après la connexion

Vous pouvez désormais enregistrer des messages en utilisant des niveaux personnalisés :

logging.log(CUSTOM_LEVEL, "自定义日志消息")
Copier après la connexion

Créer des gestionnaires personnalisés

Les gestionnaires sont responsables de l'écriture des messages de journal dans un fichier, une console ou une autre destination. Pour créer un gestionnaire personnalisé, héritez de la classe logging.Handler : 

class CustomHandler(logging.Handler):
def emit(self, record):
# 自定义日志记录逻辑
pass
Copier après la connexion

Ajoutez ensuite le gestionnaire personnalisé au logger :

logger = logging.getLogger()
logger.addHandler(CustomHandler())
Copier après la connexion

Formater les messages du journal

Formatter contrôle la disposition des messages du journal. Pour créer un formateur personnalisé, héritez de la classe logging.F<code>logging.F<strong class="keylink">ORM</strong>atterORM

atter :

class CustomFormatter(logging.Formatter):
def format(self, record):
# 自定义格式化逻辑
return formatted_message
Copier après la connexion

Ensuite, attachez le formateur personnalisé au gestionnaire :

handler = logging.FileHandler("log.txt")
formatter = CustomFormatter()
handler.setFormatter(formatter)
Copier après la connexion
OptimiséPerformance de journalisation

Pour garantir que la journalisation n'a pas d'impact négatif sur les performances de l'application, tenez compte des conseils d'optimisation suivants :
  • Utiliser la journalisation asynchrone : logging.handlers.QueueHandler Utilisez pour déplacer les opérations de journalisation hors du thread
  • principal.
  • Réduire la taille des messages du journal :
  • Utilisez un formateur personnalisé pour inclure uniquement les informations nécessaires.
  • Optimiser les gestionnaires : logging.handlers.RotatingFileHandler)或考虑第三方日志记录库(例如 gunicorn.glogging Utilisez des gestionnaires à grande vitesse (comme
  • ).
  • Nettoyez régulièrement les fichiers journaux : logging.FileHandler.maxByteslogging.handlers.RotatingFileHandler.backupCount Utilisez les paramètres
  • pour gérer la taille des fichiers journaux.

Bonnes pratiques de configuration

Pour garantir l'efficacité de votre configuration de journalisation, suivez ces bonnes pratiques :
  • Réglez le niveau de journalisation au niveau approprié : logging.DEBUG 进行详细诊断,logging.INFO 进行常规信息,logging.ERROR Utilisez
  • pour les erreurs.
  • Utilisez des filtres de spécificité : logging.Filter Utilisez la classe
  • pour filtrer les enregistrements de journaux provenant d'une source spécifique ou avec un message spécifique.
  • Vérifiez régulièrement les fichiers journaux :
  • Vérifiez régulièrement les fichiers journaux pour détecter les erreurs ou les anomalies.

Conclusion

En maîtrisant les techniques avancées de personnalisation et d'optimisation, le module Python Logging peut fournir une solution de journalisation complète et efficace. En personnalisant les niveaux de journalisation, en créant des gestionnaires personnalisés, en formatant les messages des journaux et en optimisant les performances de journalisation, les développeurs peuvent répondre aux besoins de leurs applications spécifiques et garantir que la journalisation fournit des informations précieuses sur leurs systèmes. 🎜

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Combien ça coûte d'atteindre le niveau 1-75 sur Douyin ? Combien ça coûte d'atteindre le niveau 1-75 sur Douyin ? Apr 23, 2024 am 11:12 AM

1. Le niveau 1 coûte 0,5 yuan. 2. Le niveau 2 coûte 1 yuan. 3. Le niveau 3 coûte 2 yuans. 4. Le niveau 4 coûte 3 yuans. 5. Le niveau 5 coûte 5 yuans. 6. Le niveau 6 coûte 7 yuans. 7. Le niveau 7 coûte 9 yuans. 8. Le niveau 8 coûte 13 yuans. 9. Le niveau 9 coûte 18 yuans. 10. Le niveau 10 coûte 24 yuans. 11. Le niveau 11 coûte 32 yuans. 12. Le niveau 12 coûte 42 yuans. 13. Le niveau 13 coûte 57 yuans. 14. Le niveau 14 coûte 73 yuans. 15. Le niveau 15 coûte 97 yuans. 16. Le niveau 16 coûte 130 yuans.

Le processus de fonctionnement de la disposition d'écran personnalisée edius Le processus de fonctionnement de la disposition d'écran personnalisée edius Mar 27, 2024 pm 06:50 PM

1. L'image ci-dessous est la disposition d'écran par défaut d'edius. La disposition par défaut de la fenêtre EDIUS est une disposition horizontale. Par conséquent, dans un environnement à moniteur unique, de nombreuses fenêtres se chevauchent et la fenêtre d'aperçu est en mode fenêtre unique. 2. Vous pouvez activer le [Mode double fenêtre] via la barre de menu [Affichage] pour que la fenêtre d'aperçu affiche simultanément la fenêtre de lecture et la fenêtre d'enregistrement. 3. Vous pouvez restaurer la disposition d'écran par défaut via [Barre de menu Affichage> Disposition des fenêtres> Général]. De plus, vous pouvez également personnaliser la disposition qui vous convient et l'enregistrer comme disposition d'écran couramment utilisée : faites glisser la fenêtre vers une disposition qui vous convient, puis cliquez sur [Affichage > Disposition de la fenêtre > Enregistrer la disposition actuelle > Nouveau], et dans le pop-up [Enregistrer la mise en page actuelle] Mise en page] entrez le nom de la mise en page dans la petite fenêtre et cliquez sur OK

Combien de niveaux y a-t-il dans l'examen C++ ? Combien de niveaux y a-t-il dans l'examen C++ ? Mar 26, 2024 am 09:24 AM

Les examens C sont généralement divisés en plusieurs niveaux en fonction des compétences en programmation et des niveaux de connaissances. Prenons l'exemple de l'examen national de niveau de programmation de logiciels pour les jeunes. L'examen est divisé en 8 niveaux, du niveau 1 au niveau 8. Chaque niveau correspond à des normes d'évaluation spécifiques et à des exigences de points de connaissances. L'examen C couvre tout, des concepts de programmation de base aux algorithmes avancés, en passant par les structures de données, etc. Les divisions de niveaux et le contenu de l'examen des différentes institutions ou organisations peuvent être différents.

Comment personnaliser l'axe X et l'axe Y dans Excel ? (Comment personnaliser l'échelle des axes Excel) Comment personnaliser l'axe X et l'axe Y dans Excel ? (Comment personnaliser l'échelle des axes Excel) Mar 14, 2024 pm 02:10 PM

Dans un tableau Excel, vous devrez parfois insérer des axes de coordonnées pour voir l'évolution des données de manière plus intuitive. Certains amis ne savent toujours pas comment insérer les axes de coordonnées dans le tableau. Ensuite, je partagerai avec vous comment personnaliser l'échelle des axes de coordonnées dans Excel. Méthode d'insertion de l'axe des coordonnées : 1. Dans l'interface Excel, sélectionnez les données. 2. Dans l'interface d'insertion, cliquez pour insérer un histogramme ou un histogramme. 3. Dans l'interface développée, sélectionnez le type de graphique. 4. Dans l'interface contextuelle du tableau, cliquez sur Sélectionner les données. 5. Dans l'interface étendue, vous pouvez la personnaliser.

Comment effectuer la gestion des erreurs et la journalisation dans la conception de classes C++ ? Comment effectuer la gestion des erreurs et la journalisation dans la conception de classes C++ ? Jun 02, 2024 am 09:45 AM

La gestion des erreurs et la journalisation dans la conception des classes C++ incluent : Gestion des exceptions : détection et gestion des exceptions, utilisation de classes d'exceptions personnalisées pour fournir des informations d'erreur spécifiques. Code d'erreur : utilisez un entier ou une énumération pour représenter la condition d'erreur et renvoyez-la dans la valeur de retour. Assertion : vérifiez les conditions préalables et postérieures et lancez une exception si elles ne sont pas remplies. Journalisation de la bibliothèque C++ : journalisation de base à l'aide de std::cerr et std::clog. Bibliothèques de journalisation externes : intégrez des bibliothèques tierces pour des fonctionnalités avancées telles que le filtrage de niveau et la rotation des fichiers journaux. Classe de journal personnalisée : créez votre propre classe de journal, résumez le mécanisme sous-jacent et fournissez une interface commune pour enregistrer différents niveaux d'informations.

Optimisation des programmes C++ : techniques de réduction de la complexité temporelle Optimisation des programmes C++ : techniques de réduction de la complexité temporelle Jun 01, 2024 am 11:19 AM

La complexité temporelle mesure le temps d'exécution d'un algorithme par rapport à la taille de l'entrée. Les conseils pour réduire la complexité temporelle des programmes C++ incluent : le choix des conteneurs appropriés (tels que vecteur, liste) pour optimiser le stockage et la gestion des données. Utilisez des algorithmes efficaces tels que le tri rapide pour réduire le temps de calcul. Éliminez les opérations multiples pour réduire le double comptage. Utilisez des branches conditionnelles pour éviter les calculs inutiles. Optimisez la recherche linéaire en utilisant des algorithmes plus rapides tels que la recherche binaire.

Liste de prix Douyin niveau 1-60 Liste de prix Douyin niveau 1-60 Apr 29, 2024 am 11:25 AM

1. Il en coûte 0,5 yuan pour passer au niveau 1. 2. Il en coûte 1 yuan pour passer au niveau 2. 3. Il en coûte 2 yuans pour passer au niveau 3. 4. Il en coûte 3 yuans pour passer au niveau 4. 5. Il en coûte 5 yuans pour passer au niveau 5. 6. Il en coûte 7 yuans pour passer au niveau 6. 7. Il en coûte 9 yuans pour passer au niveau 7. 8. Il en coûte 13 yuans pour passer au niveau 8. 9. Il en coûte 18 yuans pour passer au niveau 9. 10. Il en coûte 24 yuans pour passer au niveau 10. 11. Il en coûte 32 yuans pour passer au niveau 11. 12. Il en coûte 42 yuans pour passer au niveau 12. 13. Il en coûte 57 yuans pour passer au niveau 13. 14. Il en coûte 73 yuans pour passer au niveau 14.

Comment créer une solution de journalisation personnalisée pour votre site Web PHP Comment créer une solution de journalisation personnalisée pour votre site Web PHP May 03, 2024 am 08:48 AM

Il existe plusieurs façons de créer une solution de journalisation personnalisée pour votre site Web PHP, notamment : en utilisant une bibliothèque compatible PSR-3 (telle que Monolog, Log4php, PSR-3Logger) ou en utilisant les fonctions de journalisation natives PHP (telles que error_log(), syslog( ), debug_print_backtrace()). La surveillance du comportement de votre application et le dépannage des problèmes peuvent être facilement effectués à l'aide d'une solution de journalisation personnalisée, par exemple : Utilisez Monolog pour créer un enregistreur qui enregistre les messages dans un fichier disque.

See all articles