Heim  >  Artikel  >  Backend-Entwicklung  >  Praktische Übung mit dem Python-Protokollierungsmodul: Aufbau eines vollständigen Protokollierungssystems

Praktische Übung mit dem Python-Protokollierungsmodul: Aufbau eines vollständigen Protokollierungssystems

王林
王林nach vorne
2024-02-21 10:10:041115Durchsuche

Python Logging 模块的动手实践:构建一个完整的日志记录系统

Protokollierung, ProtokollierungAufzeichnung, Debugging, Anwendung, Entwicklung

Erstellung und Verwendung von Logger

Der Kern des Logging-Moduls ist die Logger-Klasse. Um zu beginnen, müssen Sie eine Logger-Instanz erstellen:

importurs
logger=ursing.er()

Sie können das .name-Attribut verwenden, um den Logger für Ihr Protokoll anzugeben:

logger=ursing.er("my_application")

Protokollebene: Schweregrad definieren

Sie können den Schweregrad von Protokolleinträgen angeben, indem Sie das Ebenenattribut auf eine der integrierten Ebenen festlegen. Die Stufen reichen von DEBUG (am wenigsten schwerwiegend) bis FATAL (am schwerwiegendsten) wie folgt:

level=ursing.L.DEBUG# 调试级别
level=ursing.L.INFO# 信息级别
level=ursing.L.WARNING# 告警级别

Prozessor: Protokolle formatieren und weitergeben

Ein Prozessor ist eine Komponente, die Protokolle von einem Logger entgegennimmt und sie an ein bestimmtes Ziel sendet. Der eingebaute Prozessor bietet einen Out-of-the-Box-Ansatz:

# 将日志信息发送到标准输出(终端)
handler=ursing.mhandler()

Sie können das Attribut .fORMatter verwenden, um das Format für Ihre Protokolle anzupassen:

handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))

Filter: Erfassen Sie nur die Protokolle, die Sie interessieren

Mit Filtern können Sie nur Protokolle erfassen, die bestimmte Kriterien erfüllen. Verwenden Sie die Filterklasse:

filter=ursing.r()
filter.re=rs.ur("ERROR")# 仅匹配“ERROR”级别的日志

Fügen Sie alles zusammen

Schließen Sie Prozessoren und Filter an Logger an, um eine vollständige Protokollierungspipeline aufzubauen:

logger.addhandler(handler, filter)

Praktisches Beispiel: ein kompletter Logger

Stellen Sie sich eine Anwendung vor, die in der Datei „example.py“ ausgeführt wird. Wie unten gezeigt, verwenden wir das Logging-Modul, um einen umfassenden Logger zu erstellen:

importurs
logger=ursing.er("my_example_app")

# 根级别为“INFO”
logger.level=ursing.L.INFO

# 创建一个到文件“app.log”的处理器
file_handler=ursing.FH("app.log",mode="a")
file_handler.er=ursing.er(ursing.F("%(asctime)s -%(levelname)s:%(message)s"))

# 创建一个到终端的处理器
console_handler=ursing.mhandler()
console_handler.er=ursing.er(ursing.F("%(message)s"))

# 将处理器附加到日志
logger.addhandler(file_handler)
logger.addhandler(console_handler)

In einer Anwendung können Sie die Methode .log() verwenden, um Informationen auf einer bestimmten Ebene in das Protokoll zu schreiben:

logger.info("开始应用程序")
logger.error("应用程序遇到一个严重问题")

Fazit

Das Protokollierungsmodul bietet Ihnen eine umfassende und flexible Kontrolle über die Anwendungsprotokollierung. Kombinieren Sie dies mit den entsprechenden Ebenen, Prozessoren und Filtern, und Sie können eine robuste und aufschlussreiche Protokollierungsgrundlage aufbauen, die Ihnen hilft, Probleme zu isolieren, das Anwendungsverhalten zu verfolgen und die Leistung zu optimieren.

Das obige ist der detaillierte Inhalt vonPraktische Übung mit dem Python-Protokollierungsmodul: Aufbau eines vollständigen Protokollierungssystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen