Heim > Backend-Entwicklung > Python-Tutorial > Wie protokolliere ich mit dem Python-Protokollierungsmodul sowohl in Datei als auch in Stdout?

Wie protokolliere ich mit dem Python-Protokollierungsmodul sowohl in Datei als auch in Stdout?

Barbara Streisand
Freigeben: 2024-10-18 18:58:29
Original
415 Leute haben es durchsucht

How to Log to Both File and Stdout using the Python Logging Module?

Protokollierung in Datei und Stdout in Python mit dem Protokollierungsmodul

Bei Verwendung des Python-Protokollierungsmoduls ist es wünschenswert, dass Protokollmeldungen ausgegeben werden nicht nur in die angegebene Protokolldatei, sondern auch nach stdout für sofortige Sichtbarkeit. Um dies zu erreichen, bietet das Protokollierungsmodul eine unkomplizierte Lösung.

Die Protokollierungskonfiguration basiert auf Handlern, um die Ausgabe zu leiten. Durch das Hinzufügen einer logging.StreamHandler()-Instanz zum Root-Logger ist es möglich, Nachrichten zusätzlich zu ihren beabsichtigten Zielen an stdout zu senden.

Ein Beispiel für die Konfiguration eines Stream-Handlers für die stdout-Ausgabe:

<code class="python">import logging
import sys

# Get the root logger
root = logging.getLogger()

# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)

# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root.addHandler(handler)</code>
Nach dem Login kopieren

Durch die Implementierung dieser Konfiguration wird es unnötig, Protokollnachrichten sowohl mit Logger-Methoden als auch mit stdout-Druckanweisungen zu duplizieren. Logger wie mylogger.critical("something failed") geben die Daten sowohl in die angegebene Protokolldatei als auch in stdout aus und sorgen so für sofortige Sichtbarkeit und behalten gleichzeitig die ordnungsgemäßen Protokollierungspraktiken bei.

Das obige ist der detaillierte Inhalt vonWie protokolliere ich mit dem Python-Protokollierungsmodul sowohl in Datei als auch in Stdout?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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