Python -Protokollierungs -Setlevel

Python -Protokollierungs -Setlevel

Das Python -Paket der gemeinsamen Bibliothek der Bibliothek bietet die Möglichkeit, mit dem Rahmen für die Ausgabe der Protokollinformationen aus Python -Programmen umzugehen. Die Protokollierung ist größtenteils wichtig, um Daten, Fehler und Ausnahmen im Auge zu behalten. Es hilft auch beim Debuggen. Protokollierung ist der einfache Begriff für alles, was wir verfolgen und sammeln. Das Sammeln von Informationen, sowohl das, was wir bereits haben, als auch das, was wir während der gesamten Verarbeitung erhalten, werden uns beim Debuggen helfen. Bei der Protokollierung gibt es fünf vorgegebene Ebenen, die in diesem Artikel erörtert werden.

Arbeiten bei der Anmeldung bei Python

Wie bei einer Anwendungsanmeldung werden Zeit und Name in eine Datei eingegeben, die dann durch Speichern der Datei protokolliert wird. Dies impliziert, dass wir, solange unsere Daten gesammelt werden, wissen, wer der Administrator zu diesem Zeitpunkt angemeldet ist, und wir können auch seine Abmeldeinformationen speichern. Dies ist daher eine wesentliche Informationen, die wir in einer Protokolldatei für eine beliebige Anmeldung oder Abmeldemomente in einer Protokolldatei speichern können. Ähnlich begegnen wir gelegentlich einen bestimmten Fehler im Code. Um dies zu beheben, erstellen wir ein Protokoll, geben die relevanten Daten und Informationen ein und richten das Szenario so ein, dass eine Fehlermeldung angezeigt wird, wenn der Fehler auftritt. Sobald dies geschieht, wird die Nachricht in der Protokolldatei gespeichert, auf die wir zugreifen können, um die Protokolldatei anzuzeigen und den Fehler schnell zu identifizieren und zu korrigieren. Die Protokollierung ist in allen Computersprachen in der Regel auf die gleiche Weise definiert. Wir müssen das Protokollierungsmodul des Python verwenden, wenn wir Fehler im Auge behalten möchten. Die Protokollierungsbibliothek für Python muss wie im folgenden Bild gezeigten importiert werden:

Wir können die Protokollierung auch importieren, indem wir "aus der Protokollierung import *" schreiben. Lassen Sie uns weiter über die Python -Protokollierungs -Setlevel -Methode sprechen.

BasicConfig (** Kwargs) Methode

Das Protokollierungssystem wird mit dieser Technik konfiguriert.

Syntax für die BasicConfig:

Wir können die zahlreichen Parameter in den Klammern nutzen "BasicConfig () 's". Lassen Sie uns folglich über seine Parameter sprechen und den einzelnen Zweck definieren.

Dateinamen: Anstatt einen Stream -Handler zu konstruieren, wird angewiesen, dass ein DateiHandler mit dem angegebenen Dateinamen konstruiert wird. Dieses Argument wird verwendet, um den Namen der neu generierten Protokolldatei anzugeben, und sein Wert ist der Name der Datei, die in die Klammern eingefügt wird. Wir können auch den Pfad verwenden, der den Speicherort angibt, an dem wir eine Datei mit dem Parameter „Dateiname“ erstellen möchten. Die Reihenfolge, in der dieses Argument geschrieben ist. Wir geben unserem mit Datei einen beliebigen Namen, den wir wählen, indem wir ihn zwischen den umgekehrten Kommas platzieren.

filemode: Öffnen Sie die Datei in diesem Modus, wenn der Dateiname bereitgestellt wird - „A“ ist standardmäßig, aber auch „W“ kann geschrieben werden. Dies gibt den Standardmodus an, in dem die Datei erstellt wird, nämlich der angehängte Modus. Wir können die Datei jedoch alternativ im Schreibmodus öffnen, indem wir "W" schreiben. Eine Datei kann im Schreibmodus geöffnet werden, indem zuerst das „Filemode“ geschrieben, dann das Equals Sign („=“) und dann das „W“ zwischen den umgekehrten Kommas geschrieben werden. Die vorherigen Daten sind in der Datei ebenfalls sichtbar, wenn wir sie im angehängten Modus öffnen, sie wird jedoch entfernt, wenn wir sie im Schreibmodus öffnen.

Eben: Legen Sie die Ebene des Stammloggers nach Wunsch ein. Es gibt unterschiedliche Ebenen, wie z.

Format: Verwenden Sie die Formatzeichenfolge des ausgewählten Handlers. Die Daten, die in der Protokolldatei aufbewahrt werden.

DateFmt: Verwenden Sie das Datums- und Uhrzeitformat, das im Laufe der Zeit definiert wurde.strftime () ”. Wir haben das Datums- und Uhrzeitformat in einfachen Worten beschrieben.

Stil: Verwenden Sie diesen Stil für die Format-Zeichenfolge, wenn das Format mit einem "%", "" oder "$" für Druckstil, STR, geliefert wird.Format () oder Zeichenfolge jeweils. Die entsprechende Vorlage wird normalerweise auf "%" gesetzt.

Abgesehen von diesen gibt es noch viel mehr Parameter wie „Stream“, „Handler“ und „Kraft“, aber wir werden sie in diesem Zusammenhang nicht verwenden.

Protokollierungsebenen

Die Python Standard Library enthält auch das Protokollierungsmodul. Wir müssen nur die Protokollierung importieren, um loszulegen. Es gibt fünf gemeinsame Protokollierungsstufen, die standardmäßig die Bedeutung von Vorkommen darstellen. Diese Ebenen sind:

  1. Notizensatz - Sein Numerium beträgt 0
  2. DEBUGGEN - Sein Numor in Ziffern beträgt 10
  3. DIE INFO - Sein Numor in Numerikum beträgt 20
  4. WARNUNG - Sein Numerium beträgt 30
  5. FEHLER - Sein Niveau in numerischen 40
  6. KRITISCH - Sein Niveau in numerischen 50

Unser Level ist standardmäßig auf "30" festgelegt, was in der Kategorie "Warnung" liegt. In unserer Protokolldatei können wir "Warnung", "Fehler" und "kritisch" anzeigen, da unser Standardstufe "30" ist, was "Warnung" ist. Wir können jedoch nicht "Debug" und "Info" anzeigen. Um "Info" und "Debug" anzuzeigen, müssen wir zunächst das Level auf "Debuggen" ändern, in dem alle oben über diese Ebene eingegebene Daten eingegeben werden. Derzeit ist die Ebene eine Warnung, sodass alle oben über diese Ebene eingegeben werden.

Beginnen wir nun, das Skript in die Tat umzusetzen. Zunächst importieren wir die Protokollierung, was impliziert, dass alles vom Protokollierungsmodul importiert wird. Dann verwenden wir in der folgenden Zeile die „Protokollierung.Debugug “und übergeben Sie die Nachricht„ Dies ist eine Debug -Nachricht “in ihrer Klammung. Dann verwenden wir in der folgenden Zeile die „Protokollierung.Info "und übergeben Sie die Nachricht" Dies ist eine Informationsnachricht ". Beide sind die Setlevels, aber sie werden in der Konsole nicht auftauchen, da die Standardstufe „30“ ist, was eine „Warnung“ ist. Infolgedessen zeigt die Konsole die obigen Daten aus der Warnung, deren numerische Ebenen „40“ und „50“ sind, deren numerische Ebenen beträgt.

Sie können sehen, dass es in der Ausgabe nichts anzeigt, da wir die Ebene „Debug“ und „Info“ verwenden. Das Level wurde standardmäßig auf "Warnung" festgelegt "Level 30".

Die Nachricht "Dies ist eine Warnmeldung" wurde dem "Protokollieren" zur Verfügung gestellt.Warnung “im zweiten Abschnitt des Codes, in dem wir jetzt die verbleibenden Protokollierungsstufen verwenden. Dann verwenden wir in der folgenden Zeile die „Protokollierung.Fehler ”und übergeben Sie den Ausdruck„ Dies ist eine Fehlermeldung “in ihren Klammern. Als nächstes verwenden wir die „Protokollierung.kritisch “und übergeben den Ausdruck„ Benutzer sind in Schwierigkeiten “innerhalb seiner Klammern. Wenn wir dieses Skript nun ausführen. Es zeigt keine Debug- oder Info -Nachrichten an, da sie unterhalb der Warnstufe liegen.

Nachdem der Standardtext angezeigt wird, wie Sie im folgenden Bild sehen können, wird er in einer Protokolldatei angezeigt. Daher werden hier die "Warnung", "Fehler" und "kritische" Ebenen gezeigt. "Root" ist der Logger -Name. Danach wird die Nachricht angezeigt. Wir haben erklärt, warum die Level „Debug“ und „Info“ in der vorherigen Erklärung nicht angezeigt werden.

So speichern oder anzuzeigen alle Daten oben aus dem Debuggen, einschließlich „Debug“, „Info“, „Warnung“, „Fehler“ und „kritisch“, haben nun die „Debug“ -Pegel festgelegt, um die oben genannten Daten aus dem Debug anzuzeigen. Da haben wir die „Protokollierung benutzt.BasicConfig ”für diesen Zweck und gab das Debug" Level = "als Wert, die Ausgabe zeigt jetzt alle Ebenen und Nachrichten an:

Die Ausgabe zeigt erfolgreich alle Ebenen. Die obigen Daten über das Debug werden angezeigt, die Namen der Ebenen werden angezeigt, zuerst ist der Logger das Root, und dann werden die Nachrichten angezeigt.

Jetzt zeigen wir, wie die Nachrichten formatiert werden. Das Format akzeptiert eine Zeichenfolge mit einer beliebigen Kombination von Logrecord -Eigenschaften. Wir gaben das Format im nächsten Schritt demselben Skript. Zu diesem Zweck verwenden wir nach dem Importieren der Protokollierung das „Protokollformat“ in der folgenden Zeile. Dann verwenden wir eine Zeichenfolge mit "logrecord" -attributen in der Reihenfolge, die uns gefällt. Erstens verwenden wir "asctime". Da es sich in einer Zeichenfolge befindet, verwenden wir "S". Und wir verwenden das prozentuale Symbol, weil wir den prozentualen Stil verwenden. Dann verwenden wir den „LevelName“, der den Namen der Ebene anzeigt. Dann verwenden wir "Name", der den Logger -Namen anzeigt. Dann verwenden wir "Lineno", das die Anzahl der Zeile anzeigt. Lassen Sie uns jetzt das Skript ausführen.

Es zeigt die Formatierung, die im Skript angegeben wurde. Das Datum und die Uhrzeit wurden zuerst angezeigt, dann die Ebenennamen, wobei die erste Ebene „Debug“ und der Logger -Name „Root“ lautete. Danach werden "7" als Zeilennummer angezeigt, bevor die Nachricht angezeigt wird, da, wie Sie im vorherigen Skript sehen können. Eine ähnliche Nachrichtenformatierung wird für die verbleibenden Ebenen angezeigt.

Abschluss

In diesem Artikel haben wir die Python -Protokollierungs -Setlevels behandelt. Wir haben insgesamt sechs festgelegte Levels und haben über fünf von ihnen gesprochen: "Debug", "Info", "Warnung", "Fehler" und "kritisch". Unser Level ist standardmäßig auf „30“ eingestellt, was die Level -Warnung ist. Daher wird die Daten über der Warnung angezeigt. Wir haben in diesem Artikel diskutiert, dass wir auch die Daten von „Debugg“ und oben aus dem Debug anstellen können, indem wir das BasicConfig -Level für Debugg festlegen können. Wir diskutierten außerdem, wie die Nachrichten die Nachrichten mit den Attributen „Logrecords“ auf unterschiedlichen Ebenen formatiert werden sollen.