Heim > Artikel > Backend-Entwicklung > Praktische Übung mit dem Python-Protokollierungsmodul: Aufbau eines vollständigen Protokollierungssystems
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!