Python a un module intégré nommé enregistrement Pour obtenir les informations de journal pour toute application Python. Il s'agit d'un module très utile pour le programmeur Python novice ou expérimenté pour imprimer le message d'état au flux de sortie ou dans un fichier. La plupart des bibliothèques Python tierces utilisent ce module pour générer des informations de journal pour l'application Python. Comment vous pouvez utiliser ce module est indiqué dans cet article en utilisant 25 exemples de journalisation Python Simple.
Liste des exemples de journalisation:
getlogger () La fonction est utilisée pour créer un objet Logger. Cette fonction peut être appelée avec le nom de l'enregistreur ou sans nom d'enregistreur. Le nom de l'enregistreur par défaut est racine. Dans l'exemple suivant, l'objet Logger est créé avec un nom d'enregistreur et sans nom d'enregistreur en utilisant getlogger (). Ici, trois messages d'avertissement seront imprimés. La racine imprimera comme un nom de journaliste pour le premier et le deuxième message d'avertissement. Le troisième message d'avertissement imprimera avec le nom d'enregistreur qui est attribué dans la fonction getlogger ().
Exemple 1.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple1.pySortir:
Le nom du journaliste par défaut est «root» et lorsque l'objet de journaliste est créé sans aucun nom, le journal nommé est également «root». Ainsi, la sortie suivante apparaîtra après avoir exécuté le script.
Aller au sommet
Utilisation de BasicConfig ()
BasicConfig () La fonction est utilisée pour configurer les options de journalisation de la journalisation racine. Différents types de configuration de base peuvent être effectués par cette fonction. format, niveau, nom de fichier, etc. sont les arguments les plus utilisés de cette fonction. format est utilisé pour formater la sortie du message du journal. niveau est utilisé pour définir le niveau de journalisation. nom de fichier est utilisé pour envoyer la sortie du message du journal dans un fichier plutôt que la console. Les utilisations de format et niveau Les arguments sont indiqués dans l'exemple suivant.
exemple2.py
# module d'importationExécutez le script à partir du terminal.
$ Python Exemple2.pySortir:
Ici le message est défini dans le format argument et journalisation niveau est réglé sur DÉBOGUER. Le message de débogage suivant sera imprimé comme sortie après l'exécution du script.
Aller au sommet
Utilisation de SetLevel ()
Setlevel () La fonction est utilisée pour définir le niveau de journalisation. Six niveaux peuvent être définis par cette fonction. Ceux-ci sont Debug (10), info (20), avertissement (30), erreur (40), critique (50) et NotSet (0). Le niveau de défaut est défini sur NotSet lors de la création d'un objet de journal. Le journal root traite les messages pour l'avertissement, l'erreur et le niveau critique par défaut. Comment vous pouvez modifier le niveau de bûcheron actuel en utilisant Setlevel () La fonction est affichée dans l'exemple suivant. Ici, les messages de débogage et d'avertissement sont imprimés avant et après la définition du niveau du journal dans le script.
Exemple3.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple3.pySortir:
Le premier message de débogage du script n'imprimera pas pour le niveau d'enregistrement par défaut et le deuxième message de débogage imprimera pour définir le niveau de l'enregistreur pour déboguer. La sortie suivante apparaîtra
Après avoir exécuté le script.
Aller au sommet
Utilisation de GetEffectiveLevel ()
GetEffectiveLevel () La fonction est utilisée pour récupérer la valeur du niveau de journal actuel. Si le niveau de journal actuel est défini sur NotSet, l'objet Logger recherchera le niveau de journal du journaliste racine. Si rien trouvé pour Root Logger, alors la valeur du niveau de journal de NotSet sera renvoyée. Comment vous pouvez utiliser GetEffectiveLevel () Pour lire le niveau de journal actuel est affiché dans l'exemple suivant. Ici, cette fonction est appelée avant et après la définition du niveau du journal.
exemple4.py
# module d'importationExécutez le script à partir du terminal.
$ Python Exemple4.pySortir:
La sortie suivante apparaîtra après l'exécution du script. La sortie montre que le niveau de journal par défaut est l'avertissement (30) et que le niveau de journal est de débogage (10) après avoir réglé le niveau.
Aller au sommet
En utilisant iSenabledfor ()
iSenabledfor () La fonction est utilisée pour vérifier que tout niveau de journal est activé ou désactivé actuellement. L'exemple suivant vérifiera d'abord que le niveau d'information est activé ou non. Les niveaux d'informations et de débogage ne sont pas activés par défaut. Donc la sortie de isenablefor () La fonction sera fausse. Ensuite, le niveau de journal est défini sur les informations et iSenabledfor () reviendra vrai pour la dernière déclaration.
exemple5.py
# module d'importationExécutez le script à partir du terminal.
$ Python Exemple5.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de Debug ()
déboguer() La fonction est utilisée pour imprimer des informations détaillées après avoir diagnostiqué les problèmes du script. La valeur numérique de DÉBOGUER Le niveau est de 10 et vous devez définir ce niveau pour faire déboguer() fonction active. L'utilisation de cette fonction est montrée par un simple script dans l'exemple suivant. Ici, le niveau de journal est défini sur le débogage pour imprimer le message de débogage. La fonction Check_even () est définie pour vérifier que le numéro d'entrée est uniforme ou impair. Si le nombre n'est pas même alors, la fonction émettra un message de débogage sinon aucun.
exemple6.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple6.pySortir:
Le script est exécuté pour les temps avec un nombre uniforme un nombre impair. Lorsque 55 est pris en entrée, il imprime le message de débogage et lorsque 12 est pris en entrée, aucun message n'est passé.
Aller au sommet
Utilisation d'informations ()
Info() La fonction est utilisée pour fournir un message réussi ou général à l'utilisateur pour confirmer que le code fonctionne correctement. La valeur numérique de INFO Le niveau est de 20 et vous devez définir ce niveau avant d'utiliser Info() fonction. L'utilisation de cette fonction est montrée dans l'exemple suivant. Ici, deux valeurs numériques sont attribuées en deux variables X et y. Une fonction personnalisée 'ajout'est déclaré pour calculer la somme de X et y. Info() La fonction est utilisée pour appeler le résultat de la sommation de la fonction et de l'impression.
Exemple7.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple7.pySortir:
Ici, aucun objet Logger n'est créé. Ainsi, le journal par défaut est root et la somme de x et y est 50. La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de Warning ()
avertissement() La fonction est utilisée lorsqu'un problème inattendu se produit ou avertit l'utilisateur pour le problème futur. La valeur numérique du niveau d'avertissement est de 30. La fonction Warning () fonctionne pour le journaliste par défaut. L'utilisation de cette fonction est montrée dans l'exemple suivant. Ici, le niveau de journal est défini au début du script. Ce script calculera la zone du cercle en fonction de la valeur du rayon prise. Si la valeur du rayon est nulle, alors un message d'avertissement imprime autrement, la zone du cercle imprimera.
exemple8.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple8.pySortir:
Le script est exécuté deux fois dans la sortie avec les valeurs de rayon, 0 et 4. Le message d'avertissement est imprimé lorsque la valeur du rayon est 0 et que la valeur de zone est imprimée lorsque le rayon est 4.
Aller au sommet
Utilisation d'erreur ()
erreur() La fonction est utilisée lorsqu'un problème grave existe dans le script. Le niveau d'erreur numérique est de 40. erreur() La fonction fonctionne pour le journaliste par défaut. L'exemple suivant montre l'utilisation du erreur() fonction. La fonction du script est de prendre un nom de fichier existant en entrée et d'imprimer le contenu du fichier. OS.chemin Le module est utilisé pour lire n'importe quel fichier dans Python. Donc, ce module est importé en premier. Ici, si le nom de fichier qui prendra en entrée n'existe pas dans le système, le message d'erreur sera imprimé sinon le contenu du fichier sera imprimé.
exemple9.py
#mport OS.module de cheminExécutez le script à partir du terminal.
$ Python Exemple9.pySortir:
Le script est exécuté deux fois dans la sortie suivante. Pour la première fois, le nom de fichier qui est donné en entrée n'existe pas dans le système et le message d'erreur est imprimé. Pour la deuxième fois, le nom de fichier qui est pris en entrée existe dans le système et le contenu du fichier est imprimé.
Aller au sommet
Utilisation de critique ()
La fonction critique () est également utilisée pour indiquer le problème grave qui peut arrêter l'exécution du script. Le niveau de journal de critique est 50. critique() La fonction fonctionne pour le journaliste par défaut. L'utilisation de cette fonction est montrée dans l'exemple suivant. Ici, deux valeurs d'entrée seront tirées de l'utilisateur comme dividende et diviseur. Si la valeur du diviseur est 0, une erreur critique se produira et un message critique sera imprimé.
Exemple10.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple10.pySortir:
Le script est exécuté deux fois dans la sortie suivante. Lorsque 78 et 0 sont pris en entrée, le message d'erreur critique est imprimé. Lorsque 24 et 2 sont pris en entrée, puis 12.0 est imprimé en sortie.
sortir.
Aller au sommet
Enregistrement à un fichier
La sortie de la journalisation affiche dans la console par défaut de configuration. Mais vous pouvez stocker la sortie de la journalisation dans un fichier en utilisant l'argument de nom de fichier de BasicConfig (). Comment vous pouvez stocker les informations de journalisation dans un fichier est affiché dans l'exemple. Ici, 'mon.enregistrer'est attribué comme nom de fichier et stocké dans l'argument de fichier de BasicConfig (). Le niveau de journalisation est définitif pour déboguer. Après avoir exécuté le script, 'mon.enregistrer' Le fichier sera créé et les messages de journal seront stockés dans le fichier.
Exemple11.py
# Module de journalisation de l'importExécutez le script et affichez le contenu de mon.enregistrer dossier du terminal.
$ Python Exemple11.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de la variable dans l'exploitation forestière
Toutes les données du script peuvent être ajoutées au journal en utilisant la variable dans Python. Cet exemple montre comment passer n'importe quelle variable Python dans le message du journal. Ce script suivant prendra deux entrées de chaîne des utilisateurs comme nom d'utilisateur et mot de passe. Si les valeurs d'entrée correspondent aux valeurs mentionnées dans le script, il imprimera un message de journal d'erreur passé avec la valeur de errmsg variable. Si les valeurs ne correspondent pas, il imprimera un message de journal d'informations avec la valeur de la même variable.
Exemple12.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple12.pySortir:
Le script est exécuté deux fois avec les données valides et les données non valides dans la sortie suivante. Quand 'administrer' et 'secret'sont passés comme nom d'utilisateur et mot de passe qui sont des données non valides, puis il a stocké un message de défaillance dans la variable, errmsg. Quand 'Fahmida ' et 'secret' sont passés comme nom d'utilisateur et mot de passe comme entrée qui sont des données valides, alors un message de réussite est stocké dans la variable, errmsg. La valeur de errmsg est imprimé avec le message d'erreur de journal pour l'échec et avec le message du journal pour réussir.
Aller au sommet
Utilisation d'exception ()
exception() La fonction est utilisée dans la journalisation si le script Python contient le code du gestionnaire d'exceptions. Il fonctionne comme une erreur () de la journalisation. La différence est que exception() La fonction affiche la trace de pile avec sa sortie. L'utilisation de cette fonction est montrée dans l'exemple suivant. Le script suivant prendra une valeur numérique en entrée et soulèvera une exception si la valeur d'entrée est négative. Ici, exception() La fonction imprimera la prise de message d'exception par exception.
Exemple13-py
# module de journalisation de l'importExécutez le script à partir du terminal.
$ Python Exemple 13.pySortir:
Lorsque le script est exécuté avec la valeur -89 négative, il a lancé une exception et imprimé la sortie de la trace et de l'exception de la pile. Lorsque le script est exécuté avec la valeur 13 positive, alors aucun message n'est imprimé.
Aller au sommet
Création du gestionnaire
Les entrées de journal peuvent être gérées de différentes manières en utilisant différents gestionnaires. Les gestionnaires les plus couramment utilisés pour l'exploitation forestière sont File et Standardeur. File est utilisé pour envoyer les entrées de journal dans un fichier et Standardeur est utilisé pour envoyer les entrées du journal à la console. Les utilisations de ces gestionnaires sont présentées dans l'exemple suivant. Dans ce script, le niveau de débogage est défini pour File Le niveau d'objet et d'informations est défini pour Standardeur objet. Pour cela, les messages de débogage et d'informations seront stockés dans le logdata.enregistrer Le message des fichiers et des informations sera imprimé dans la console.
Exemple14.py
Module #mportExécutez le script et affichez le contenu de 'LogData.Fichier log 'à partir du terminal.
$ Python Exemple14.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de Formatter ()
Format () La fonction est utilisée pour configurer le contenu et la structure des données de journal. Comment vous pouvez utiliser Format () fonction pour configurer les données de journal de File L'objet est affiché dans l'exemple suivant. Ici, Format () est utilisé pour formater les données de journal avec le temps de création, le nom de l'enregistreur et le message du journal. mylog.enregistrer Le fichier sera créé après l'exécution du script et les messages de journal formatés seront stockés dans le fichier.
Exemple15.py
Module #mportExécutez le script et affichez le contenu de 'LogData.Fichier log 'à partir du terminal.
$ Python Exemple15.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de LogRecord.getMessage ()
Lorsque tout est enregistré par l'enregistreur, l'objet LOGRECOCD est créé automatiquement. La fonction makerecord () peut être utilisée pour créer un objet LogRecord manuellement. L'objet LogRecord contient de nombreux attributs et getMessage () fonction. Lorsque l'objet LogRecord est créé manuellement alors getMessage () Renvoie le message de l'objet LogRecord en fonction des arguments transmis par l'utilisateur. L'exemple suivant montre l'utilisation de getMessage () fonction.
Exemple16.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple16.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Args
args L'attribut stocke les arguments transmis à l'objet LogRecord. Les valeurs de args sont fusionnés avec msg attribut pour produire la valeur de message Attribut lorsque l'objet LogRecord crée automatiquement. La valeur d'attribut de args peut être lu en créant manuellement un objet LogRecord. Dans l'exemple suivant, un objet LogRecord nommé LogRecord est créé manuellement par des données définies par l'utilisateur et la valeur de l'argument est imprimée par args attribut.
Exemple17.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple17.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Asctime
asc-temps L'attribut est utilisé pour stocker le moment où tout logord crée. Il a stocké la date, l'heure et les heures en millisecondes après avoir créé un objet Logger. L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '% (asctime) s'.
Exemple18.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple 18.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Nom de fichier
nom de fichier L'attribut est utilisé pour récupérer la partie du nom de fichier à partir du chemin. L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '% (nom de fichier) s'.
Exemple19.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple19.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Funcname
funcname L'attribut consiste à récupérer le nom de la fonction à partir de l'endroit où la journalisation est appelée. L'exemple suivant montre l'utilisation de cet attribut. Ici, l'objet Logger est créé dans la fonction, mylog_func (). Le format de cet attribut est '% (funcname) s'.
Exemple20.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple20.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Lineno
linge L'attribut est utilisé pour récupérer le numéro de ligne à partir de l'endroit où la journalisation est appelée. Il renverra une valeur numérique. L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '% (lineno) s'.
Exemple21.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple21.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Module
module L'attribut est utilisé pour récupérer uniquement le nom de fichier sans extension du chemin du fichier. L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '%(modules'.
Exemple22.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple22.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - Nom
nom L'attribut est utilisé pour récupérer le nom de journaliste utilisé dans la fonction getLogger (). L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '%(des noms'.
Exemple23.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple23.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation d'attributs LogRecord - PathName
cheminée L'attribut est utilisé pour récupérer le chemin de l'emplacement du fichier. L'exemple suivant montre l'utilisation de cet attribut. Le format de cet attribut est '% (pathname) s'.
Exemple24.py
Module #mportExécutez le script à partir du terminal.
$ Python Exemple24.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Utilisation de l'exploitation forestière.désactiver
La fonction désactivée () est utilisée pour désactiver tous les appels de journalisation pour le niveau spécifique. Par exemple, s'il est appelé avec un niveau d'information, tous les messages de journal des informations, l'avertissement, l'erreur et la critique seront ignorés pour tous les journalistes. L'utilisation de cette fonction est montrée dans l'exemple suivant. Le message d'avertissement est activé pour le journaliste par défaut. Ainsi, le deuxième message d'avertissement ne sera pas imprimé après avoir désactivé le niveau d'avertissement.
Exemple25.py
# module d'importationExécutez le script à partir du terminal.
$ Python Exemple25.pySortir:
La sortie suivante apparaîtra après l'exécution du script.
Aller au sommet
Les informations de journalisation aident le codeur à identifier les différents problèmes du code et à résoudre le problème rapidement. Le programmeur Python doit apprendre les options de journalisation Python pour rendre leur code plus approprié. Les utilisations de base de la journalisation Python sont présentées dans cet article en utilisant 25 exemples différents. J'espère que cet article aidera les lecteurs à s'appliquer correctement aux données du journal dans leur code Python.