Python hat ein integriertes Modul mit dem Namen Protokollierung Um die Protokollinformationen für jede Python -Anwendung zu erhalten. Es ist ein sehr nützliches Modul für den Anfänger oder den erfahrenen Python -Programmierer, um die Statusnachricht in den Ausgabestream oder in eine Datei zu drucken. Die meisten Python-Bibliotheken von Drittanbietern verwenden dieses Modul, um Protokollinformationen für die Python-Anwendung zu generieren. Wie Sie dieses Modul verwenden können, wird in diesem Artikel unter Verwendung von 25 einfachen Python -Protokollierungsbeispielen angezeigt.
Liste der Protokollierungsbeispiele:
getLogger () Funktion wird verwendet, um ein Logger -Objekt zu erstellen. Diese Funktion kann mit Logger -Namen oder ohne Logger -Namen aufgerufen werden. Der Standard -Protokoll -Name ist Wurzel. Im folgenden Beispiel wird das Logger -Objekt mit einem Logger -Namen und ohne Logger -Namen mit Verwendung erstellt getLogger (). Hier werden drei Warnmeldungen gedruckt. Das Stamm wird als Logger -Name für die erste und zweite Warnmeldung gedruckt. Die dritte Warnmeldung wird mit dem Logger -Namen gedruckt, der in GetLogger () -Funktion zugewiesen ist.
Beispiel 1.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel1.pyAusgang:
Der Standardprotokollname lautet 'root' und wenn das Logger -Objekt ohne einen Namen erstellt wird, ist der benannte Protokoll auch "root". Die folgende Ausgabe wird also nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Mit BasicConfig ()
BasicConfig () Funktion wird verwendet, um die Protokollierungsoptionen des Stammloggers zu konfigurieren. Durch diese Funktion können verschiedene Arten der grundlegenden Konfiguration erfolgen. Format, Ebene, Dateiname, usw. sind die am häufigsten verwendeten Argumente dieser Funktion. Format wird verwendet, um die Ausgabe der Protokollnachricht zu formatieren. eben wird verwendet, um die Protokollierungsstufe einzustellen. Dateinamen wird verwendet, um die Ausgabe der Protokollnachricht an eine Datei und nicht an die Konsole zu senden. Die Verwendung von Format Und eben Argumente werden im folgenden Beispiel gezeigt.
Beispiel2.py
#modulmodulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel2.pyAusgang:
Hier das Nachricht ist in der festgelegt Format Argument und die Protokollierung eben ist eingestellt auf DEBUGGEN. Die folgende Debug -Nachricht wird nach dem Ausführen des Skripts als Ausgabe gedruckt.
Zur Spitze gehen
Mit setlevel ()
setlevel () Funktion wird verwendet, um die Protokollierungsstufe einzustellen. Sechs Ebenen können durch diese Funktion festgelegt werden. Diese sind Debug (10), Info (20), Warnung (30), Fehler (40), kritisch (50) Und Notiz (0). Die Standardstufe wird so festgestellt. Der Root Logger verarbeitet standardmäßig Nachrichten für Warnung, Fehler und kritische Ebene. Wie Sie die aktuelle Logger -Ebene durch Verwendung ändern können setlevel () Die Funktion wird im folgenden Beispiel gezeigt. Hier werden Debug- und Warnmeldungen vor und nach dem Einstellen der Protokollebene im Skript gedruckt.
Beispiel3.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel3.pyAusgang:
Die erste Debug -Nachricht des Skripts wird nicht für die Standardprotokoll -Ebene gedruckt, und die zweite Debug -Nachricht wird für die Einstellung der Protokollebene auf Debuggen gedruckt. Die folgende Ausgabe wird angezeigt
Nach dem Ausführen des Skripts.
Zur Spitze gehen
Verwenden von GetEffectivelevel ()
GetEffectivelevel () Funktion wird verwendet, um den aktuellen Wertprotokollpegelwert abzurufen. Wenn die aktuelle Protokollebene auf Notset gesetzt ist, sucht das Logger -Objekt die Protokollebene des Root -Loggers. Wenn nichts für Root -Logger gefunden wird, wird der Wert der Protokollebene von Notset zurückgegeben. Wie Sie verwenden können GetEffectivelevel () Um die aktuelle Protokollebene zu lesen, wird im folgenden Beispiel angezeigt. Hier wird diese Funktion vor und nach dem Einstellen der Protokollebene aufgerufen.
Beispiel4.py
#modulmodulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel4.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt. Die Ausgabe zeigt, dass die Standardprotokollebene warnt (30) und die Protokollebene Debug (10) nach Einstellung der Ebene.
Zur Spitze gehen
Verwenden von iSenabledFor ()
isenabled for () Die Funktion wird verwendet, um zu überprüfen, ob eine Protokollebene derzeit aktiviert oder deaktiviert ist. Das folgende Beispiel wird zuerst überprüft, ob die Info -Ebene aktiviert ist oder nicht. Info- und Debug -Levels sind standardmäßig nicht aktiviert. Also die Ausgabe von isenable for () Funktion wird falsch sein. Als nächstes wird die Protokollebene auf Infos eingestellt und isenabled for () wird für die letzte Erklärung wahr zurückkehren.
Beispiel5.py
#modulmodulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel5.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden Sie Debug ()
debuggen() Funktion wird verwendet, um Detailinformationen nach der Diagnose des Skripts zu detaillieren. Der numerische Wert von DEBUGGEN Level ist 10 und Sie müssen dieses Level für die Herstellung festlegen debuggen() Funktion aktiv. Die Verwendung dieser Funktion wird im folgenden Beispiel durch ein einfaches Skript angezeigt. Hier ist das Protokollebene auf Debugg eingestellt, um die Debug -Nachricht zu drucken. check_even () Funktion ist definiert, um zu überprüfen, ob die Eingabemummer ausgeglichen oder ungerade ist. Wenn die Nummer noch nicht einmal ist, gibt die Funktion eine Debug -Nachricht aus, sonst keine.
Beispiel6.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel6.pyAusgang:
Das Skript wird für Zeiten mit einer gleichmäßigen Nummer eine ungerade Zahl ausgeführt. Wenn 55 als Eingabe angenommen werden, druckt sie die Debug -Nachricht und wenn 12 als Eingabe angenommen wird, wird keine Nachricht übergeben.
Zur Spitze gehen
Verwenden von info ()
die Info() Die Funktion wird verwendet, um dem Benutzer eine erfolgreiche oder allgemeine Nachricht zur Verfügung zu stellen, um zu bestätigen, dass der Code ordnungsgemäß funktioniert. Der numerische Wert von DIE INFO Level beträgt 20 und Sie müssen dieses Level vor der Verwendung festlegen die Info() Funktion. Die Verwendung dieser Funktion wird im folgenden Beispiel angezeigt. Hier werden zwei numerische Werte in zwei Variablen zugeordnet X Und y. Eine benutzerdefinierte Funktion 'Zusatz'wird deklariert, um die Summe von zu berechnen X Und y. die Info() Die Funktion wird verwendet, um die Funktion der Funktion und das Druckergebnis der Druckzusammenfassung aufzurufen.
Beispiel7.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel7.pyAusgang:
Hier wird kein Logger -Objekt erstellt. Der Standard -Logger ist also root und die Summe von x und y beträgt 50. Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Warnungen ()
Warnung() Funktion wird verwendet, wenn ein unerwartetes Problem auftritt oder den Benutzer vor dem zukünftigen Problem warnen. Der numerische Wert des Warnniveaus beträgt 30. Warnung () Funktion funktioniert für den Standardprotokollger. Die Verwendung dieser Funktion wird im folgenden Beispiel angezeigt. Hier wird die Protokollebene zu Beginn des Skripts auf Warnung eingestellt. Dieses Skript berechnet den Bereich des Kreises basierend auf dem RADIUS -Wert. Wenn der Radiuswert Null ist, wird eine Warnmeldung gedruckt, sonst druckt der Bereich des Kreises.
Beispiel8.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel8.pyAusgang:
Das Skript wird zweimal in der Ausgabe mit den Radiuswerten 0 und 4 ausgeführt. Die Warnmeldung wird gedruckt, wenn der Radiuswert 0 ist und der Flächenwert gedruckt wird, wenn der Radius 4 beträgt.
Zur Spitze gehen
Verwenden von Fehler ()
Fehler() Funktion wird verwendet, wenn im Skript ein ernstes Problem vorliegt. Die numerische Fehlerebene beträgt 40. Fehler() Funktion funktioniert für den Standardprotokollger. Das folgende Beispiel zeigt die Verwendung des Fehler() Funktion. Die Funktion des Skripts besteht darin, einen vorhandenen Dateinamen als Eingabe zu nehmen und den Inhalt der Datei zu drucken. Betriebssystem.Weg Modul wird verwendet, um eine Datei in Python zu lesen. Dieses Modul wird also zuerst importiert. Wenn der Dateiname, der als Eingabe annimmt, im System nicht vorhanden ist.
Beispiel9.py
#import os.PfadmodulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel9.pyAusgang:
Das Skript wird zweimal in der folgenden Ausgabe ausgeführt. Zum ersten Mal existiert der Dateiname, der als Eingabe angegeben wird, im System nicht und die Fehlermeldung wird gedruckt. Zum zweiten Mal ist der Dateiname, der als Eingabe angenommen wird, im System vorhanden und der Inhalt der Datei wird gedruckt.
Zur Spitze gehen
Mit kritisch () verwenden
Critical () -Funktion wird auch verwendet, um das ernsthafte Problem anzuzeigen, das die Ausführung des Skripts stoppen kann. Das logarithmische Log -Level von kritisch ist 50. kritisch() Funktion funktioniert für den Standardprotokollger. Die Verwendung dieser Funktion wird im folgenden Beispiel angezeigt. Hier werden der Benutzer als Dividende und Divisor zwei Eingabewerte entnommen. Wenn der Divisorwert 0 ist, tritt ein kritischer Fehler auf und eine kritische Nachricht wird gedruckt.
Beispiel10.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel10.pyAusgang:
Das Skript wird zweimal in der folgenden Ausgabe ausgeführt. Wenn 78 und 0 als Eingabe angenommen werden, wird die kritische Fehlermeldung gedruckt. Wenn 24 und 2 als Eingabe genommen werden, dann 12.0 wird als Ausgabe gedruckt.
Ausgang.
Zur Spitze gehen
Anmelden bei einer Datei
Die Ausgabe der Protokollierung wird standardmäßig in der Konsole angezeigt. Sie können jedoch die Ausgabe der Protokollierung in eine Datei speichern, indem Sie das Dateiname -Argument von BasicConfig () -Funktion verwenden. Wie Sie Protokollierungsinformationen in eine Datei speichern können, wird im Beispiel angezeigt. Hier, 'Mein.Protokoll'wird als Dateiname zugewiesen und im Dateinamenargument von BasicConfig () gespeichert. Die Protokollierungsstufe wird auf Debuggen eingestellt. Nach dem Ausführen des Skripts, 'Mein.Protokoll' Die Datei wird erstellt und Protokollnachrichten werden in der Datei gespeichert.
Beispiel11.py
#Mort -ProtokollierungsmodulFühren Sie das Skript aus und sehen Sie sich den Inhalt von an Mein.Protokoll Datei aus dem Terminal.
$ python Beispiel11.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Variablen bei der Protokollierung
Alle Daten aus dem Skript können dem Protokoll mithilfe der Variablen in Python zum Protokoll hinzugefügt werden. Dieses Beispiel zeigt, wie Sie jede Python -Variable in der Protokollnachricht übergeben können. In diesem folgenden Skript werden zwei Zeichenfolge von den Benutzern als aufgenommen Nutzername Und Passwort. Wenn die Eingabewerte mit den im Skript genannten Werten übereinstimmen, wird eine Fehlerprotokollnachricht mit dem Wert von übergeben Errmsg Variable. Wenn die Werte nicht übereinstimmen, wird eine Info -Protokoll -Nachricht mit dem Wert derselben Variablen gedruckt.
Beispiel12.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel12.pyAusgang:
Das Skript wird zweimal mit den gültigen Daten und ungültigen Daten in der folgenden Ausgabe ausgeführt. Wenn 'Administrator' Und 'Geheimnis'werden als verabschiedet als Nutzername Und Passwort Das sind ungültige Daten, dann wurde eine Fehlermeldung in die Variable gespeichert, Errmsg. Wenn 'Fahmida ' Und 'Geheimnis' werden als Nutzername Und Passwort Als Eingabe, die gültige Daten sind, wird eine Erfolgsnachricht in der Variablen gespeichert, Errmsg. Der Wert von Errmsg wird mit der Protokollfehlermeldung für den Fehler und mit der Protokollinfo -Nachricht für den Erfolg gedruckt.
Zur Spitze gehen
Verwenden von Ausnahme ()
Ausnahme() Die Funktion wird bei der Protokollierung verwendet, wenn das Python -Skript einen Ausnahmehandlercode enthält. Es funktioniert wie Fehler () der Protokollierung wie Fehler (). Der Unterschied ist das Ausnahme() Funktion zeigt die Stapelverfolgung zusammen mit der Ausgabe an. Die Verwendung dieser Funktion wird im folgenden Beispiel angezeigt. Das folgende Skript nimmt einen numerischen Wert als Eingabe an und erhöht eine Ausnahme, wenn der Eingabewert negativ ist. Hier, Ausnahme() Die Funktion druckt den Ausnahmenachricht für Ausnahme.
Beispiel13-py
#Mort -ProtokollierungsmodulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel13.pyAusgang:
Wenn das Skript mit dem negativen Wert -89 ausgeführt wird, hat es eine Ausnahme ausgelöst und die Stapelspur- und Ausnahmebereich ausgedruckt. Wenn das Skript mit positiven Wert 13 ausgeführt wird, wird keine Nachricht gedruckt.
Zur Spitze gehen
Handler erstellen
Protokolleinträge können auf unterschiedliche Weise unter Verwendung verschiedener Handler behandelt werden. Die am häufigsten verwendeten Handler für die Protokollierung sind FileHandler Und Streamhandler. FileHandler wird verwendet, um die Protokolleinträge an eine Datei zu senden und Streamhandler wird verwendet, um die Protokolleinträge an eine Konsole zu senden. Die Verwendungen dieser Handler werden im folgenden Beispiel angezeigt. In diesem Skript ist die Debug -Ebene für auf FileHandler Objekt- und Info -Ebene wird für ein festgelegt Streamhandler Objekt. Dafür werden Debug- und Info -Nachrichten in der gespeichert Logdaten.Protokoll Datei- und Info -Nachricht werden in der Konsole gedruckt.
Beispiel14.py
#modulFühren Sie das Skript aus und sehen Sie sich den Inhalt von 'logData an.Log 'Datei aus dem Terminal protokollieren.
$ python Beispiel14.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Unter Verwendung von Formatter ()
Formatter () Funktion wird verwendet, um den Inhalt und die Struktur von Protokolldaten zu konfigurieren. Wie Sie verwenden können Formatter () Funktion zum Konfigurieren der Protokolldaten von FileHandler Das Objekt wird im folgenden Beispiel angezeigt. Hier, Formatter () wird verwendet, um die Protokolldaten mit Erstellungszeit, Logger -Namen und Protokollnachricht zu formatieren. MyLog.Protokoll Die Datei wird nach der Ausführung des Skripts erstellt und die formatierten Protokollnachrichten werden in der Datei gespeichert.
Beispiel15.py
#modulFühren Sie das Skript aus und sehen Sie sich den Inhalt von 'logData an.Log 'Datei aus dem Terminal protokollieren.
$ python Beispiel15.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord.GetMessage ()
Wenn vom Logger etwas protokolliert wird, wird das lorcocd -Objekt automatisch erstellt. MakereCord () -Funktion kann verwendet werden. Das Logrecord -Objekt enthält viele Attribute und GetMessage () Funktion. Wenn das Logrecord -Objekt dann manuell erstellt wird GetMessage () Gibt die Nachricht des Logrecord -Objekts basierend auf den vom Benutzer übergebenen Argumenten zurück. Das folgende Beispiel zeigt die Verwendung von GetMessage () Funktion.
Beispiel16.py
#modulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel16.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Args
Args Attribut speichert die Argumente, die an das Logrecord -Objekt übergeben wurden. Die Werte von Args werden verschmolzen mit Nachricht Attribut, um den Wert von zu erzeugen Nachricht Attribut, wenn das logrecord -Objekt automatisch erstellt wird. Der Attributwert von Args kann gelesen werden, indem man manuell ein Logrecord -Objekt erstellen. Im folgenden Beispiel ein Logrecord -Objekt benannt Logrecord wird manuell von benutzerdefinierten Daten erstellt und der Wert des Arguments wird von gedruckt Args Attribut.
Beispiel17.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel17.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - asctime
asctime Das Attribut wird verwendet, um die Zeit zu speichern, in der ein Leiter erstellt wird. Es wurde Datum, Uhrzeit und Zeiten in Millisekunden nach dem Erstellen eines Logger -Objekts gespeichert. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(asctime) s' '.
Beispiel18.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel18.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Dateiname
Dateinamen Das Attribut wird verwendet, um den Teil des Dateinamens vom Pfad abzurufen. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(Dateiname) S'.
Beispiel19.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel19.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Funktionsname
Funktionsname Das Attribut besteht darin, den Funktionsnamen abzuholen, von dem die Protokollierung aufgerufen wird. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Hier wird das Logger -Objekt in der Funktion erstellt, myLog_func (). Das Format dieses Attributs ist '%(funcname) s' '.
Beispiel20.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel20.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Leineno
Linie Nr Das Attribut wird verwendet, um die Zeilennummer abzuholen, von der die Protokollierung aufgerufen wird. Es gibt einen numerischen Wert zurück. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(lineno) s' '.
Beispiel21.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel21.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Modul
Modul Das Attribut wird verwendet, um nur den Dateinamen ohne eine Erweiterung aus dem Dateipfad abzurufen. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(Modul) S'.
Beispiel22.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel22.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Name
Name Das Attribut wird verwendet, um den Logger -Namen abzurufen, der in GetLogger () -Funktion verwendet wird. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(Name) S'.
Beispiel23.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ python Beispiel23.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Logrecord -Attributen - Pfadname
Pfadname Das Attribut wird verwendet, um den Pfad des Dateispeichers abzurufen. Das folgende Beispiel zeigt die Verwendung dieses Attributs. Das Format dieses Attributs ist '%(Pathname) S'.
Beispiel24.py
#ModulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel24.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Verwenden von Protokollierung.deaktivieren
DISABLE () -Funktion wird verwendet, um den gesamten Protokollierungsaufruf für die spezifische Ebene zu deaktivieren. Wenn es beispielsweise mit Info -Ebene aufgerufen wird, werden alle Protokollnachrichten von Informationen, Warnungen, Fehler und kritisch für alle Logger ignoriert. Die Verwendung dieser Funktion wird im folgenden Beispiel angezeigt. Die Warnmeldung ist für den Standardprotokoller aktiviert. Die zweite Warnmeldung wird also nach Deaktivieren der Warnstufe nicht gedruckt.
Beispiel25.py
#modulmodulFühren Sie das Skript aus dem Terminal aus.
$ Python Beispiel25.pyAusgang:
Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Zur Spitze gehen
Protokollierungsinformationen hilft dem Coder, die verschiedenen Probleme des Codes zu identifizieren und das Problem schnell zu lösen. Der Python -Programmierer muss Python -Protokollierungsoptionen lernen, um seinen Code angemessener zu machen. Die grundlegenden Verwendungen der Python -Protokollierung werden in diesem Artikel unter Verwendung von 25 verschiedenen Beispielen angezeigt. Ich hoffe, dieser Artikel hilft den Lesern, sich für die ordnungsgemäß.