Zum Hauptinhalt springen

So fügen Sie den Logger-Namen zu Python-Logging hinzu: Eine einfache Möglichkeit zum Einrichten

Python bietet ein leistungsfähiges Logging-Modul zum Protokollieren von Nachrichten und zum Debuggen von Code. Standardmäßig speichern Logger jedoch keine Informationen über den Namen des Moduls, von dem die Nachricht ausgeführt wurde.

Sie können den Loggernamen zu Python-Logging-Nachrichten hinzufügen, indem Sie eine einfache Konfigurationsmethode verwenden. Dazu müssen Sie das Nachrichtenformat beim Konfigurieren der Logger definieren.

Warum muss ich den Namen des Loggers hinzufügen

Wenn mehrere Module oder Klassen in einer Anwendung verwendet werden, kann jede Anwendung ihren eigenen Logger haben. Wenn Sie einen Loggernamen hinzufügen, können Sie sehen, aus welchem Modul oder welcher Klasse die Nachricht erstellt wurde, was die Fehlerverfolgung und das Verständnis des Programmausführungsablaufs erleichtert.

Darüber hinaus kann das Hinzufügen eines Loggernamens mithilfe der getLogger() -Methode aus dem Logging-Modul hilfreich sein, wenn Sie das Protokoll weiter konfigurieren. Der Loggername kann verwendet werden, um Nachrichten zu filtern, die Protokollierungsebene für ein bestimmtes Modul oder eine bestimmte Klasse festzulegen und das Format der Protokolleinträge zu konfigurieren.

Die Verwendung des Loggernamens in Journaleinträgen kann auch hilfreich sein, wenn Sie Protokolle analysieren, insbesondere in großen Anwendungen mit vielen Loggern und Modulen. Es hilft Ihnen, besser zu verstehen, welche Module miteinander interagieren, welche Teile des Programms Fehler verursachen und wo Sie nach möglichen Problemen suchen können.

Im Allgemeinen ist das Hinzufügen eines Loggernamens zu Protokolleinträgen ein wesentlicher Bestandteil der Logging-Konfiguration in Python und ermöglicht eine bessere Lesbarkeit und Nützlichkeit des Protokolls sowie eine einfachere Debugging- und Anwendungsentwicklung.

Einfache Möglichkeit, einen Logger einzurichten

Sie können den Namen des Loggers auf einfache Weise anpassen, um ihn hinzuzufügen. Zuerst müssen Sie das Logging-Modul importieren und ein Logger-Objekt erstellen:

import logginglogger = logging.getLogger(__name__)

Als nächstes können Sie die Protokollierungsebene konfigurieren, um anzugeben, welche Nachrichten in die Protokolldatei geschrieben werden sollen. Dazu können Sie die logger-Methode verwenden.setLevel() :

logger.setLevel(logging.DEBUG)

Der letzte Schritt besteht darin, die Formatierung der Protokollnachrichten zu konfigurieren. Dazu können Sie das Formatter-Objekt verwenden:

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
stream_handler = logging.StreamHandler()stream_handler.setFormatter(formatter)logger.addHandler(stream_handler)

Der Logger ist jetzt einsatzbereit. Verschiedene Logger-Methoden können verwendet werden, z. B. logger.debug() , logger.info() , logger.warning() usw., um eine bestimmte Informationsebene in eine Protokolldatei zu schreiben.

Durch diese einfachen Schritte zum Erstellen und Konfigurieren eines Loggers können Sie den Loggernamen einfach zu den Logmeldungen hinzufügen, wodurch das Debuggen und Analysieren des Programms erleichtert wird.

Schritte zum Hinzufügen eines Loggernamens zu Python-Logging

  1. Logging-Modul importieren: logging importieren
  2. Konfigurieren Sie die Logger-Konfiguration mit der Logging-Funktion.basicConfig()
  3. Erstellt eine Loggerinstanz mit dem angegebenen Namen: logger = logging.getLogger('loggername')

Zusätzliche Logger-Konfigurationen

Wie wir bereits gelernt haben, kann die Aufgabe, den Loggernamen zu Python-Logging hinzuzufügen, mit der basicConfig() -Methode gelöst werden. In einigen Fällen kann jedoch eine komplexere Konfiguration des Loggers erforderlich sein.

Eines der leistungsfähigen Werkzeuge für die Konfiguration eines Loggers ist die Methode Logger.setLevel(). Mit dieser Methode können Sie die Logging-Ebene für einen bestimmten Logger festlegen. Wenn wir beispielsweise möchten, dass Nachrichten nur mit der Stufe "warning" oder höher registriert werden, können wir die Logging-Ebene auf "warning" setzen.

Außerdem können wir die Logger-Handler mit der Methode anpassen Logger.addHandler(). Mit dieser Methode können wir einen Handler hinzufügen, der die Protokolle für einen bestimmten Logger verarbeitet. Zum Beispiel können wir einen Handler hinzufügen, der jedes Mal, wenn ein neues Ereignis protokolliert wird, Logs an E-Mail sendet.

Im Allgemeinen können wir durch die Verwendung zusätzlicher Logger-Konfigurationen den Logging-Prozess in unserer Anwendung flexibler konfigurieren und verwalten.

Anwendungsbeispiele und Debugging

Nachdem Sie den Logger konfiguriert haben, können Sie verschiedene Methoden verwenden, um die Protokolle aufzuzeichnen und das Programm zu debuggen:

MethodeDie Beschreibung
logger.debug(message) Schreibt eine Debug-Nachricht
logger.info(message) Zeichnet eine Informationsmeldung auf
logger.warning(message) Zeichnet eine Warnmeldung auf
logger.error(message) Zeichnet eine Fehlermeldung auf
logger.critical(message) Zeichnet eine kritische Nachricht auf

Jede dieser Methoden akzeptiert eine Nachricht, die in das Protokoll geschrieben werden soll, als Argument. Die Nachricht kann eine Zeichenfolge oder ein anderes Objekt sein, das eine __str__() -Methode hat.

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

Durch die Konfiguration des Loggers und die Verwendung von Schreibmethoden können Sie nützliche Informationen über die Funktionsweise des Programms erhalten und Fehler schnell finden und korrigieren.