Table des matières
Présentation
Démarrage" >Démarrage
Créer un enregistreur
Enregistrer les messages du journal
Niveau de connexion
Formateur
Utilisation avancée
Le module de journalisation prend en charge la journalisation hiérarchique, dans laquelle un enregistreur peut hériter des propriétés et du comportement de son enregistreur parent. Cela permet de créer une structure de journalisation avec différents niveaux de granularité de journalisation.
.
Le module de journalisation peut être étendu avec des classes et des fonctions personnalisées pour implémenter des fonctionnalités de journalisation plus avancées ou spécifiques. Par exemple, vous pouvez créer vos propres processeurs ou filtres pour répondre à des exigences spécifiques.
Maison développement back-end Tutoriel Python Module de journalisation Python : tutoriels de niveau expert, du débutant au compétent

Module de journalisation Python : tutoriels de niveau expert, du débutant au compétent

Mar 08, 2024 am 08:34 AM
python 处理器 logging 日志记录 过滤器 bibliothèque standard Niveau de journalisation formateur

Python logging 模块:专家级教程,从入门到精通

Présentation

Le module

logging est la bibliothèque standard pour logginglogging dans python. Il fournit une interface unifiée pour la journalisation des événements dans les applications et permet aux développeurs de définir un contrôle précis des niveaux de journalisation, de formater les messages des journaux et de sortir les journaux vers diverses destinations telles que des fichiers, des consoles ou des réseaux socket).

Créer un enregistreur

Pour démarrer la journalisation, vous devez d'abord créer un objet enregistreur. L'enregistreur peut être identifié par logging.getLogger(name) 函数创建,其中 name qui est un identifiant string.

import logging

# 创建一个名为 "my_logger" 的 logger
logger = logging.getLogger("my_logger")
Copier après la connexion

Enregistrer les messages du journal

Les messages de journal peuvent être enregistrés en utilisant la méthode logger.log(level, msg, *args, **kwargs), où :

  • level : Le niveau du message du journal.
  • msg : Enregistrer les messages.
  • *args**kwargs : Paramètre facultatif utilisé pour formater les messages du journal.
logger.info("程序已启动")
logger.error("发生错误!")
Copier après la connexion

Niveau de connexion

Le module

logging définit les niveaux de journalisation suivants (du plus bas au plus élevé) :

  • DEBUG : informations détaillées à des fins de débogage.
  • INFO : pour les messages d'application réguliers.
  • AVERTISSEMENT : Utilisé pour attirer l'attention sur un problème.
  • ERROR : pour les erreurs et les exceptions.
  • CRITIQUE : pour les erreurs critiques ou les plantages d'applications.
  • NOTSET : désactivez la journalisation.

Le niveau de journalisation peut être réglé sur logger.level 属性。例如,要将 my_logger 的级别设置为 WARNING en utilisant :

logger.level = logging.WARNING
Copier après la connexion

Formateur

Les formateurs sont utilisés pour contrôler l'apparence des messages de journal. Les formateurs peuvent être créés via la classe logging.F<code>logging.F<strong class="keylink">ORM</strong>atterORM

atter, qui a les paramètres suivants :
  • fmt
  •  : La chaîne de format du message de journal.
  • datefmt
  •  : chaîne de format pour la date et l'heure (facultatif).

# 创建一个格式化器,包含时间戳、日志级别和日志消息
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
Copier après la connexion

Processeur

Les processeurs sont utilisés pour envoyer des messages de journal vers des destinations spécifiques. Le module de journalisation fournit des gestionnaires prêts à l'emploi, tels que :
  • logging.StreamHandler
  •  : Sortie des messages du journal sur la console.
  • logging.FileHandler
  •  : Sortie des messages du journal dans un fichier.
  • logging.<strong class="keylink">Socket</strong>Handlerlogging.</li>Socket</ul>Handler : génère les messages du journal sur une socket réseau.

    # 创建一个处理器,将日志消息输出到控制台
    handler = logging.StreamHandler()
    
    # 将格式化器添加到处理器
    handler.setFormatter(formatter)
    
    # 将处理器添加到 logger
    logger.addHandler(handler)
    Copier après la connexion

    Filtre

      Les filtres sont utilisés pour filtrer les messages du journal en fonction de conditions spécifiques. Le module de journalisation fournit les filtres suivants :
    • logging.Filter
    •  : Filtre de base, autorisez ou refusez les messages du journal. logging.LevelFilter
    •  : Filtrez les messages du journal en fonction du niveau de journalisation. logging.MessageFilter
     : Filtrez les messages du journal en fonction des messages du journal eux-mêmes.

    # 创建一个过滤器,仅允许 INFO 和 WARNING 级别的日志消息
    filter = logging.LevelFilter(logging.INFO)
    
    # 将过滤器添加到处理器
    handler.addFilter(filter)
    Copier après la connexion

    Utilisation avancée

    Journalisation hiérarchique

    Python

    Le module de journalisation prend en charge la journalisation hiérarchique, dans laquelle un enregistreur peut hériter des propriétés et du comportement de son enregistreur parent. Cela permet de créer une structure de journalisation avec différents niveaux de granularité de journalisation.

    Niveaux de journalisation personnaliséslogging.addLevelName(level_name, level_value)

    Des niveaux de journalisation personnalisés peuvent également être créés pour mieux répondre aux besoins spécifiques de votre application. Ceci peut être réalisé avec la fonction

    .

    Module de journalisation étendu

    Le module de journalisation peut être étendu avec des classes et des fonctions personnalisées pour implémenter des fonctionnalités de journalisation plus avancées ou spécifiques. Par exemple, vous pouvez créer vos propres processeurs ou filtres pour répondre à des exigences spécifiques.

    Conclusion Le module de journalisation Python est un outil puissant pour se connecter aux applications. Il offre flexibilité et personnalisation, permettant aux développeurs de créer des systèmes de journalisation en fonction des besoins spécifiques de leurs applications. En suivant les principes de base et les techniques avancées décrites dans ce

    tutoriel🎜, vous pouvez tirer le meilleur parti du module de journalisation et obtenir une journalisation efficace et informative pour vos applications. 🎜

    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 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Comment obtenir des données d'application et de visionneuse en temps réel sur la page de travail 58.com? Comment obtenir des données d'application et de visionneuse en temps réel sur la page de travail 58.com? Apr 05, 2025 am 08:06 AM

Comment obtenir des données dynamiques de la page de travail 58.com tout en rampant? Lorsque vous rampez une page de travail de 58.com en utilisant des outils de chenilles, vous pouvez rencontrer cela ...

Quelle est la raison pour laquelle PS continue de montrer le chargement? Quelle est la raison pour laquelle PS continue de montrer le chargement? Apr 06, 2025 pm 06:39 PM

Les problèmes de «chargement» PS sont causés par des problèmes d'accès aux ressources ou de traitement: la vitesse de lecture du disque dur est lente ou mauvaise: utilisez Crystaldiskinfo pour vérifier la santé du disque dur et remplacer le disque dur problématique. Mémoire insuffisante: améliorez la mémoire pour répondre aux besoins de PS pour les images à haute résolution et le traitement complexe de couche. Les pilotes de la carte graphique sont obsolètes ou corrompues: mettez à jour les pilotes pour optimiser la communication entre le PS et la carte graphique. Les chemins de fichier sont trop longs ou les noms de fichiers ont des caractères spéciaux: utilisez des chemins courts et évitez les caractères spéciaux. Problème du PS: réinstaller ou réparer le programme d'installation PS.

JavaScript Code Line Break: Comment gérer gracieusement l'attribut de chaîne et d'objet long? JavaScript Code Line Break: Comment gérer gracieusement l'attribut de chaîne et d'objet long? Apr 05, 2025 am 08:03 AM

Explication détaillée des compétences de rédaction de code JavaScript Lors de l'écriture de code JavaScript, nous rencontrons souvent une ligne de code trop longue, ce qui affecte non seulement la lisibilité du code ...

Comment accélérer la vitesse de chargement de PS? Comment accélérer la vitesse de chargement de PS? Apr 06, 2025 pm 06:27 PM

La résolution du problème du démarrage lent Photoshop nécessite une approche à plusieurs volets, notamment: la mise à niveau du matériel (mémoire, lecteur à semi-conducteurs, CPU); des plug-ins désinstallés ou incompatibles; nettoyer régulièrement les déchets du système et des programmes de fond excessifs; clôture des programmes non pertinents avec prudence; Éviter d'ouvrir un grand nombre de fichiers pendant le démarrage.

Comment résoudre le problème du chargement lorsque PS est démarré? Comment résoudre le problème du chargement lorsque PS est démarré? Apr 06, 2025 pm 06:36 PM

Un PS est coincé sur le "chargement" lors du démarrage peut être causé par diverses raisons: désactiver les plugins corrompus ou conflictuels. Supprimer ou renommer un fichier de configuration corrompu. Fermez des programmes inutiles ou améliorez la mémoire pour éviter une mémoire insuffisante. Passez à un entraînement à semi-conducteurs pour accélérer la lecture du disque dur. Réinstaller PS pour réparer les fichiers système corrompus ou les problèmes de package d'installation. Afficher les informations d'erreur pendant le processus de démarrage de l'analyse du journal d'erreur.

Le chargement lent PS est-il lié à la configuration de l'ordinateur? Le chargement lent PS est-il lié à la configuration de l'ordinateur? Apr 06, 2025 pm 06:24 PM

La raison du chargement lent PS est l'impact combiné du matériel (CPU, mémoire, disque dur, carte graphique) et logiciel (système, programme d'arrière-plan). Les solutions incluent: la mise à niveau du matériel (en particulier le remplacement des disques à semi-conducteurs), l'optimisation des logiciels (nettoyage des ordures système, mise à jour des pilotes, vérification des paramètres PS) et traitement des fichiers PS. La maintenance ordinaire de l'ordinateur peut également aider à améliorer la vitesse d'exécution du PS.

Comment résoudre le problème du chargement lorsque PS montre toujours qu'il se charge? Comment résoudre le problème du chargement lorsque PS montre toujours qu'il se charge? Apr 06, 2025 pm 06:30 PM

La carte PS est "Chargement"? Les solutions comprennent: la vérification de la configuration de l'ordinateur (mémoire, disque dur, processeur), nettoyage de la fragmentation du disque dur, mise à jour du pilote de carte graphique, ajustement des paramètres PS, réinstaller PS et développer de bonnes habitudes de programmation.

See all articles