Top 10 exemples de journalisation Python

Top 10 exemples de journalisation Python
Les informations sur le journal sont très importantes pour le débogage et le développement de toute application. Lorsque l'application s'exécute, chaque événement peut être suivi en utilisant des fonctionnalités de journalisation. Le programmeur peut comprendre clairement le flux du programme en utilisant des données de journal. Lorsqu'un programme s'écrase, la cause de l'accident peut être détectée facilement par des enregistrements de journal qui permettent d'économiser des temps de développement. Les performances de l'application peuvent également être mesurées par journalisation.

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:

  1. Utilisation de getlogger ()
  2. Utilisation de BasicConfig ()
  3. Utilisation de SetLevel ()
  4. Utilisation de GetEffectiveLevel ()
  5. En utilisant iSenabledfor ()
  6. Utilisation de Debug ()
  7. Utilisation d'informations ()
  8. Utilisation de Warning ()
  9. Utilisation d'erreur ()
  10. Utilisation de critique ()
  11. Enregistrement à un fichier
  12. Utilisation de la variable dans l'exploitation forestière
  13. Utilisation d'exception ()
  14. Création du gestionnaire
  15. Utilisation de Formatter ()
  16. Utilisation de LogRecord GetMessage
  17. Utilisation d'attributs LogRecord - Args
  18. Utilisation d'attributs LogRecord - Asctime
  19. Utilisation d'attributs LogRecord - Nom de fichier
  20. Utilisation d'attributs LogRecord - Funcname
  21. Utilisation d'attributs LogRecord - Lineno
  22. Utilisation d'attributs LogRecord - Module
  23. Utilisation d'attributs LogRecord - MSG
  24. Utilisation d'attributs LogRecord - PathName
  25. Utilisation de l'exploitation forestière.désactiver

Utilisation de getlogger ()

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 #mport
journalisation d'importation
# Imprimer les premiers messages d'avertissement
enregistrement.Avertissement («Ceci est le premier message d'avertissement»)
# Création d'un objet
Logger = journalisation.getlogger ()
# Imprimer les deuxièmes messages d'avertissement
bûcheron.AVERTISSEMENT («Ceci est le deuxième message d'avertissement»)
# Création d'un objet
Logger = journalisation.getlogger ('mylog')
# Imprimer les troisième messages d'avertissement
bûcheron.AVERTISSEMENT («Ceci est le troisième message d'avertissement»)

Exécutez le script à partir du terminal.

$ Python Exemple1.py

Sortir:

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'importation
journalisation d'importation
#Create et configurer le journal
enregistrement.BasicConfig (format = '% (message) S', niveau = journalisation.DÉBOGUER)
# Imprimer les messages de test avant de définir le niveau
enregistrement.débogage ("imprimer le message de débogage")

Exécutez le script à partir du terminal.

$ Python Exemple2.py

Sortir:

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 #mport
journalisation d'importation
#Create et configurer Logger
enregistrement.BasicConfig (format = '% (message) s')
# Création d'un objet
Logger = journalisation.getlogger ()
# Imprimer les messages de test avant de définir le niveau
bûcheron.Debug ("Message de débogage de test")
bûcheron.AVERTISSEMENT ("Message d'avertissement de test")
# Définissez le niveau d'enregistrement pour déboguer
bûcheron.Setlevel (journalisation.DÉBOGUER)
# Imprimer les messages de test après le niveau de réglage
bûcheron.Debug ("Test Debug Message 2")
bûcheron.AVERTISSEMENT ("Message d'avertissement de test 2")

Exécutez le script à partir du terminal.

$ Python Exemple3.py

Sortir:

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'importation
journalisation d'importation
#Create Logger Object
Logger = journalisation.getlogger ()
# Printent le code de niveau de journal actuel
Imprimer ("Code de niveau de journal actuel:% D"% (enregistreur.GetEffectiveLevel ()))
# Définir le niveau du journal sur l'avertissement
enregistrement.BasicConfig (niveau = journalisation.DÉBOGUER)
# Printent le code de niveau de journal actuel
Imprimer ("Code de niveau de journal actuel:% D"% (enregistreur.GetEffectiveLevel ()))

Exécutez le script à partir du terminal.

$ Python Exemple4.py

Sortir:

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'importation
journalisation d'importation
#Create Logger Object
Logger = journalisation.getlogger ("mylog")
#Check Le niveau d'information est activé ou non
Imprimer ("Le niveau d'information est activé:% s"% (enregistreur.iSenabledfor (journalisation.INFO)))
# Définir le niveau du journal sur les informations
enregistrement.BasicConfig (niveau = journalisation.INFO)
#Check Le niveau d'information est activé ou non
Imprimer ("Le niveau d'information est activé:% s"% (enregistreur.iSenabledfor (journalisation.INFO)))

Exécutez le script à partir du terminal.

$ Python Exemple5.py

Sortir:

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 #mport
journalisation d'importation
# Définir le niveau du journal pour déboguer
enregistrement.BasicConfig (niveau = journalisation.DÉBOGUER)
Fonction #Declare à la vérification du numéro
def Check_Even (n):
#Check le nombre est même ou non
Si n% 2 != 0:
Message de débogage #print
enregistrement.débogage ("le nombre n'est même pas")
# Prenez un numéro de l'utilisateur
n = entrée ("Veuillez saisir un numéro égal \ n")
#All de la fonction
check_even (int (n))

Exécutez le script à partir du terminal.

$ Python Exemple6.py

Sortir:
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 #mport
journalisation d'importation
# Définir le niveau du journal sur les informations
enregistrement.BasicConfig (niveau = journalisation.INFO)
#Assign deux valeurs à x et y
x = 30
y = 20
#Declare une fonction nommée Addition
Def addition (x, y):
#Add deux nombres
retour (x + y)
# Printent les valeurs de sommation comme message d'informations
enregistrement.info ("somme de% d et% d est% d"% (x, y, addition (x, y))))

Exécutez le script à partir du terminal.

$ Python Exemple7.py

Sortir:

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 #mport
journalisation d'importation
# Définir le niveau du journal sur les informations
enregistrement.BasicConfig (niveau = journalisation.AVERTISSEMENT)
#Read la valeur du rayon comme entrée
r = input ("Entrez un nombre \ n")
#Declare une fonction nommée
zone def (rayon):
#Check la valeur du rayon
Si rayon == 0:
#Print avertissement si le rayon est nul
enregistrement.AVERTISSEMENT ("La valeur du rayon ne peut pas être nulle")
autre:
#Calculate la zone du cercle
imprimer ("zone de cercle =% d"% (3.14 * RADIUS ** 2))
#All de la fonction
zone (int (r))

Exécutez le script à partir du terminal.

$ Python Exemple8.py

Sortir:

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 chemin
Importer un système d'exploitation.chemin
à partir du chemin d'importation du système d'exploitation
# module de journalisation de l'import
journalisation d'importation
# Définir le niveau du journal sur l'erreur
enregistrement.BasicConfig (niveau = journalisation.ERREUR)
#Read la valeur du rayon comme entrée
fn = entrée ("Entrez un nom de fichier \ n")
#Declare une fonction nommée
Def ReadFile (nom de fichier):
#Check Le fichier existe ou non
Si chemin.existe (nom de fichier) == 0:
Message d'erreur #print si le fichier n'existe pas
enregistrement.erreur ("le fichier n'existe pas")
autre:
#Read et imprimez le fichier s'il existe
fh = ouvert (nom de fichier, "r")
imprimer ("\ nfile Content: \ n% s"% (fh.lire()))
#All de la fonction
ReadFile (FN)

Exécutez le script à partir du terminal.

$ Python Exemple9.py

Sortir:

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 #mport
journalisation d'importation
# Définir le niveau du journal sur la critique
enregistrement.BasicConfig (niveau = journalisation.CRITIQUE)
#Take la valeur de dividende
dividende = int (entrée ("Entrez la valeur du dividende \ n"))
#Take la valeur du diviseur
Divisor = int (entrée ("Entrez la valeur du diviseur \ n"))
essayer:
#Divide les nombres
Impression (dividende / diviseur)
Sauf ZerodivisionError:
# Print le message critique
enregistrement.critique ("Division par zéro erreur")

Exécutez le script à partir du terminal.

$ Python Exemple10.py

Sortir:

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'import
journalisation d'importation
#Set le nom de fichier du journal
FileName = 'mon.enregistrer'
#St le nom de fichier et le niveau du journal
enregistrement.BasicConfig (FileName = nom de fichier, niveau = journalisation.DÉBOGUER)
# Print messages dans le fichier
enregistrement.débogage («message de débogage»)
enregistrement.info («message d'informations»)
enregistrement.Erreur ('Message d'erreur')

Exécutez le script et affichez le contenu de mon.enregistrer dossier du terminal.

$ Python Exemple11.py
$ Cat mon.enregistrer

Sortir:

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 #mport
journalisation d'importation
#Create Logger
Logger = journalisation.getlogger ('mylog')
#Take deux entrées dans la variable «nom d'utilisateur» et «mot de passe»
username = input ("Entrez le nom d'utilisateur \ n")
mot de passe = entrée ("entrez le mot de passe \ n")
#Configure Logging avec format et niveau
enregistrement.BasicConfig (format = '% (message) S', niveau = 10)
"Vérifiez que le nom d'utilisateur et le mot de passe sont valides ou non. Attribuer
Message de réussite pour un message d'utilisateur et d'erreur valide pour l'utilisateur non valide
dans la variable 'errmsg'. La variable «errflag» définira 1 pour l'erreur
et 0 pour le succès.
"
Si username == 'Fahmida' et mot de passe == 'Secret':
errflag = 0
errmsg = 'l'authentification réussie'
autre:
errflag = 1
errmsg = 'l'échec de l'authentification'
Message de journal #print basé sur 'errflag'
Si errflag:
bûcheron.Erreur ('% s: utilisateur non valide', errmsg)
autre:
bûcheron.info ('% s: utilisateur valide', errmsg)

Exécutez le script à partir du terminal.

$ Python Exemple12.py

Sortir:

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'import
journalisation d'importation
# Prenez une entrée
numéro = int (entrée ("Entrez un nombre positif \ n"))
essayer:
#Check La valeur d'entrée est positive ou négative
Si le nombre < 0 :
augmenter l'exception ("la valeur d'entrée est négative")
sauf exception comme e:
# Print le message d'exception
enregistrement.Exception (E)

Exécutez le script à partir du terminal.

$ Python Exemple 13.py

Sortir:

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 #mport
journalisation d'importation
#Create Logger
Logger = journalisation.getlogger ('mylog')
Niveau de journalisation #set
bûcheron.Setlevel (journalisation.DÉBOGUER)
#Create streamhandler objet
chandler = journalisation.StreamHandler ()
Niveau #set pour StreamHandler
chandler.Setlevel (journalisation.INFO)
#Create filehandler objet
fhandler = journalisation.FileHandler ('logdata.enregistrer')
Niveau #Set pour FileHandler
fhandler.Setlevel (journalisation.DÉBOGUER)
#Add FileHandler Objet à Logger
bûcheron.AddHandler (Fhandler)
#Add StreanHandler Objet à Logger
bûcheron.AddHandler (Chandler)
Messages de journal #print
bûcheron.débogage («message de débogage imprimé»)
bûcheron.info ('Imprimer le message d'informations')

Exécutez le script et affichez le contenu de 'LogData.Fichier log 'à partir du terminal.

$ Python Exemple14.py
$ Cat Logdata.enregistrer

Sortir:

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 #mport
journalisation d'importation
# Créer un enregistreur personnalisé
Logger = journalisation.getlogger ()
# Créer des gestionnaires
file_handler = journalisation.Filehandler ('mylog.enregistrer')
Niveau de journal du gestionnaire #set
file_handler.Setlevel (journalisation.DÉBOGUER)
# Créer des formateurs
file_format = journalisation.Format ('% (asctime) s -% (niveaux) s -% (message) s')
#Add Formatter au gestionnaire
file_handler.setFormatter (file_format)
#Add Handlers à la bûcheron
bûcheron.addHandler (file_handler)
Messages de journal #print
bûcheron.AVERTISSEMENT («Message d'avertissement»)
bûcheron.Erreur ('Message d'erreur')

Exécutez le script et affichez le contenu de 'LogData.Fichier log 'à partir du terminal.

$ Python Exemple15.py
$ Cat mylog.enregistrer

Sortir:

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 #mport
journalisation d'importation
#Create LogRecord Objet
Logrec = journalisation.LOGRECORD ('MyLogger', 10, '/ Home / Fahmida / Python / Example2.py ', 4,
'Python Logging Tutorial', (), aucun)
#All GetMessage () pour imprimer le message
Imprimer (Logrec.getMessage ())

Exécutez le script à partir du terminal.

$ Python Exemple16.py

Sortir:

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 #mport
journalisation d'importation
#Create Custom Log Record
LogRecord = journalisation.LOGRECORD ('MYNEWLOG', 30, 'Python / Code / Exemple1.py ', 6,
'Python Logging Tutorial', 'Test', ")
# Print args valeur
Imprimer (LogRecord.args)

Exécutez le script à partir du terminal.

$ Python Exemple17.py

Sortir:

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 #mport
journalisation d'importation
#Create Logger avec nom
Logger = journalisation.getlogger ('mylog')
#St le formatage pour lire l'attribut «Asctime»
lformat = '% (asctime) s'
#Configure Logging avec le format
enregistrement.BasicConfig (format = lformat)
Message du journal #print
bûcheron.AVERTISSEMENT («C'est un message d'avertissement»)

Exécutez le script à partir du terminal.

$ Python Exemple 18.py

Sortir:

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 #mport
journalisation d'importation
#St le formatage pour lire les attributs «message» et «nom de fichier»
lformat = '% (message) s -% (nom de fichier) s'
#Configure Logging avec le format
enregistrement.BasicConfig (format = lformat)
Message du journal #print
enregistrement.erreur («Le message d'erreur s'est produit dans le fichier»)

Exécutez le script à partir du terminal.

$ Python Exemple19.py

Sortir:

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 #mport
journalisation d'importation
Fonction #Declare
def mylog_func ():
#St le formatage pour lire les attributs «message» et «funcname»
lformat = '% (message) s -% (funcname) s'
#Configure Logging avec le format
enregistrement.BasicConfig (format = lformat)
Message du journal #print
enregistrement.critique («L'enregistreur est appelé à partir de la fonction»)
# Calent la fonction de journalisation
mylog_func ()

Exécutez le script à partir du terminal.

$ Python Exemple20.py

Sortir:

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 #mport
journalisation d'importation
#St le formatage pour lire les attributs «message» et «lineno»
lformat = '% (message) s -% (lineno) d'
#Configure Logging avec le format
enregistrement.BasicConfig (format = lformat, niveau = 20)
#Create Logger
Logger = journalisation.getlogger ()
Message du journal #print
bûcheron.info («l'appel de journalisation est publié sur lineno»)

Exécutez le script à partir du terminal.

$ Python Exemple21.py

Sortir:

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 #mport
journalisation d'importation
#St le formatage pour lire les attributs «message» et «module»
lformat = '% (message) s -% (module) s'
#Configure Logging avec format et niveau
enregistrement.BasicConfig (format = lformat, niveau = journalisation.INFO)
Message du journal #print
enregistrement.info («Le nom du fichier sans extension est»)

Exécutez le script à partir du terminal.

$ Python Exemple22.py

Sortir:

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 #mport
journalisation d'importation
#St le formatage pour lire les attributs «message» et «nom»
lformat = '% (message) s -% (nom) s'
#Configure Logging avec format et niveau
enregistrement.BasicConfig (format = lformat, niveau = journalisation.INFO)
#Set le nom du journal
Logger = journalisation.getlogger ('mylog')
Message du journal #print
bûcheron.info («Le nom du journal est»)

Exécutez le script à partir du terminal.

$ Python Exemple23.py

Sortir:

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 #mport
journalisation d'importation
#St le formatage pour lire les attributs «message» et «pathname»
lformat = '% (message) s:% (pathname) s'
#Configure Logging avec format et niveau
enregistrement.BasicConfig (format = lformat, niveau = journalisation.INFO)
Message du journal #print
enregistrement.info («Emplacement du fichier»)

Exécutez le script à partir du terminal.

$ Python Exemple24.py

Sortir:

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'importation
journalisation d'importation
#Create et configurer Logger
enregistrement.BasicConfig (format = '% (message) s')
# Création d'un objet
Logger = journalisation.getlogger ()
# Imprimer les messages de test avant de désactiver
bûcheron.AVERTISSEMENT ("Message d'avertissement de test 1")
enregistrement.désactiver (journalisation.AVERTISSEMENT)
bûcheron.AVERTISSEMENT ("Message d'avertissement de test 2")

Exécutez le script à partir du terminal.

$ Python Exemple25.py

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Aller au sommet

Conclusion

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.