Heim > Backend-Entwicklung > Python-Tutorial > Python-Protokollierungsmodul entmystifiziert: Die Kunst der Protokollierung beherrschen

Python-Protokollierungsmodul entmystifiziert: Die Kunst der Protokollierung beherrschen

WBOY
Freigeben: 2024-03-07 21:55:13
nach vorne
335 Leute haben es durchsucht

Python logging 模块揭秘:掌控日志记录的艺术

python Einführung in das Protokollierungsmodul

Das

logging-Modul ist ein leistungsstarkes loggingloggingtool in der Python-Standardbibliothek. Es bietet eine standardisierte, konfigurierbare Möglichkeit, Anwendungsereignisse, Fehler und Debugging-Informationen zu protokollieren. Durch die Verwendung des Protokollierungsmoduls können Entwickler das Anwendungsverhalten einfach verfolgen, die Fehlerbehebung vereinfachen und die Codequalität verbessern.

Protokollierungsebene

Das Protokollierungsmodul definiert mehrere Protokollierungsstufen, um die Wichtigkeit von Nachrichten anzuzeigen:

  • DEBUG: Debug-Informationen zum Aufzeichnen des detaillierten Anwendungsverhaltens.
  • INFO: Allgemeine Informationen, die zur Aufzeichnung des normalen Betriebs der Anwendung verwendet werden.
  • WARNUNG: Warnmeldung zur Aufzeichnung potenzieller Probleme.
  • ERROR: Fehlermeldung zur Protokollierung von Anwendungsfehlern.
  • KRITISCH: Kritische Fehlermeldung zur Aufzeichnung kritischer Fehler, die die Anwendung unterbrechen.

Protokollierung konfigurieren

Das Protokollierungsmodul ermöglicht die Konfiguration des Protokollierungsverhaltens auf verschiedene Arten:

Root Logger:

import logging

# 创建根记录器
root_logger = logging.getLogger()

# 设置日志记录级别
root_logger.setLevel(logging.INFO)

# 添加控制台处理程序
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFORMatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(console_handler)

# 添加文件处理程序
file_handler = logging.FileHandler("my_app.log")
file_handler.setLevel(logging.WARNING)
file_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(file_handler)
Nach dem Login kopieren

Benutzerdefinierter Logger:

# 创建自定义记录器
my_logger = logging.getLogger("my_app.module1")

# 设置日志记录级别
my_logger.setLevel(logging.DEBUG)

# 添加流处理程序
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
my_logger.addHandler(stream_handler)
Nach dem Login kopieren

Nachrichten protokollieren

Nachdem die Protokollierungseinstellungen konfiguriert wurden, können Entwickler Nachrichten mit den folgenden Methoden protokollieren:

  • debug()
  • info()
  • warning()
  • error()
  • critical()

Jede Methode empfängt eine string-Nachricht und protokolliert die Nachricht auf der angegebenen Protokollierungsstufe.

my_logger.info("应用程序已启动")
Nach dem Login kopieren

Protokollierungsfilter

Das Protokollierungsmodul bietet einen Mechanismus, um Protokollnachrichten zu filtern und nur Nachrichten zu protokollieren, die bestimmte Bedingungen erfüllen. Filter können auf der Protokollierungsstufe, dem Nachrichtentext oder anderen benutzerdefinierten Kriterien basieren.

# 创建一个过滤日志记录级别的过滤器
level_filter = logging.Filter()
level_filter.filter = lambda record: record.levelno >= logging.WARNING

# 将过滤器添加到记录器
my_logger.addFilter(level_filter)
Nach dem Login kopieren

Fazit

Das Python-Protokollierungsmodul ist ein leistungsstarkes Tool zum Protokollieren von Anwendungsereignissen und Debugging-Informationen. Durch das Verständnis seiner Funktionalität und Konfigurationsoptionen können Entwickler robuste und wartbare Anwendungen entwerfen. Durch die umfassende „Visualisierung“ des Anwendungsverhaltens trägt das Protokollierungsmodul dazu bei, die Codequalität zu verbessern, die Fehlerbehebung zu vereinfachen und den Debugging-Prozess zu verbessern.

Das obige ist der detaillierte Inhalt vonPython-Protokollierungsmodul entmystifiziert: Die Kunst der Protokollierung beherrschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:lsjlt.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage