Protokollierung mit Python

Linda Hamilton
Freigeben: 2024-10-13 22:12:30
Original
1020 Leute haben es durchsucht

Logging con Python

Protokolle, Protokollierung. Was es ist und wie man Ereignisse mit Python registriert

Das Erstellen von Protokollen mithilfe der Protokollierung ermöglicht uns viel Funktionalität und Flexibilität im Code. In diesem kurzen Artikel zeige ich Ihnen die Grundlagen und etwas mehr, damit Sie beginnen können, es in Ihre Projekte zu integrieren.

Was ist Protokollierung? Und ein Protokoll?

Protokollierung ist eine Möglichkeit, Ereignisse zu überwachen. Diese Ereignisse sind durch eine beschreibende Nachricht sichtbar, mit bestimmten Variableninformationen (dem Wert einer Variablen oder dem Ergebnis einer Funktion) und mit einem bestimmten Grad an Wichtigkeit.
Ein Protokoll ist wie ein Ausdruck in Python, der Unterschied besteht jedoch darin, dass sie nicht unbedingt auf dem Bildschirm gedruckt werden und diese Protokolle in einer bekannten Datei gespeichert werden können.

Wie kann ich es verwenden?

Wir werden die Protokollierungsbibliothek verwenden, die bereits nativ in Python enthalten ist:

import logging

logging.basicConfig(
    filename="log-de-hoy.log",
    encoding="utf-8",
    level=logging.DEBUG,
    format="%(asctime)s %(levelname)s %(message)s"
)

def add(a, b):
    try:
        result = a + b
        logging.info(f"Adding {a} and {b}. Result: {result}")
    except TypeError:
        result = None
        logging.error("The values should be numeric")
    return result

print(add(2, 3)) # 5
print(add(2, "3")) # None
Nach dem Login kopieren

Wenn wir dies ausführen, wird eine Datei namens log-de-hoy.log generiert:

2023-12-08 11:56:30,544 INFO Adding 2 and 3. Result: 5
2023-12-08 11:56:30,544 ERROR The values should be numeric
Nach dem Login kopieren

Erläuterung

?? Wir beginnen mit der Grundkonfiguration: Mit logging.basicConfig deklarieren wir:

  • Dateiname: Name der bestimmten Datei, zu der wir die Protokolle hinzufügen möchten (im Beispiel lautet der Name log-de-hoy.log, idealerweise sollte er jedoch einen beschreibenden Namen mit dem Datum des Tages haben)
  • Kodierung: Art des Formats, in dem wir jedes Protokoll speichern
  • Ebene: Wir legen fest, von welcher Ebene aus wir beobachten wollen. Die verschiedenen Ebenen sind in ihrer Dokumentation enthalten und Sie werden sehen, dass sie einen numerischen Wert haben, wobei logging.INFO 20 ist. Wenn wir debugieren müssen, brauche ich mindestens eine 10. Also mit logging.DEBUG Wir stellen sicher, dass Level ab einem Wert von 10 registriert werden.
  • Format: Format, in dem die Protokolle aufgezeichnet werden, in diesem Fall das Datum auf Nachrichtenebene

?? Das Ergebnis der Summe erfassen wir mit Infolevel

?? Wir registrieren den Fehler beim Hinzufügen eines int und eines Strings mit Fehlerstufe

Warum Protokollierung verwenden?

Vielleicht können Sie es sich schon vorstellen, denn es ist ein leistungsstarkes Tool, das uns hilft, Anomalien schnell zu erkennen. Einige der Anwendungsfälle für die Verwendung sind:

  • ? Debuggen und Fehlerbehebung
  • ? Leistungsüberwachung und -analyse
  • ? Audit und Compliance
  • ? Sicherheit und Anomalieerkennung

Zum Abschluss…

Es ist einfach umzusetzen, oder? Ist es von Vorteil, es in jedes Projekt zu integrieren und nicht mehr so ​​viele Ausdrucke zu verwenden?

Das Protokollierungsmodul bietet viel mehr als das Wenige, das ich hier gezeigt habe. Aber dieses Wenig ist mehr als genug! Bei Bedarf erklärt die Dokumentation andere Fälle, Methoden, Konfigurationen usw. recht gut.

Das obige ist der detaillierte Inhalt vonProtokollierung mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage