Heim Backend-Entwicklung Python-Tutorial So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI

Jul 30, 2023 am 08:29 AM
fastapi 监控 请求日志

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI

Einführung:
FastAPI ist ein leistungsstarkes Web-Framework basierend auf Python 3.7+, das viele leistungsstarke Funktionen und Features bietet, einschließlich automatisierter Überprüfung des Anforderungs- und Antwortmodells, Sicherheit, Leistungsoptimierung, usw. In der tatsächlichen Entwicklung müssen wir häufig Anforderungsprotokolle in der Anwendung aufzeichnen, um Debugging- und Überwachungsanalysen durchzuführen. In diesem Artikel wird die Implementierung der Anforderungsprotokollierung und -überwachung in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt.

1. Abhängigkeitspakete installieren
Bevor wir beginnen, müssen wir einige notwendige Abhängigkeitspakete installieren. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

pip install fastapi uvicorn loguru
Nach dem Login kopieren

Unter anderem ist loguru eine benutzerfreundliche Protokollierungsbibliothek, mit der wir Anforderungsprotokolle aufzeichnen.

2. Erstellen Sie eine FastAPI-Anwendung
Zuerst müssen wir eine FastAPI-Anwendung erstellen. Erstellen Sie im Projektverzeichnis eine Datei mit dem Namen main.py und schreiben Sie den folgenden Code:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}
Nach dem Login kopieren

3. Anforderungsprotokolle aufzeichnen
Als Nächstes verwenden wir die Loguru-Bibliothek, um Anforderungsprotokolle aufzuzeichnen. Fügen Sie den folgenden Code zur Datei main.py hinzu:

from loguru import logger
import uvicorn
from fastapi import FastAPI

app = FastAPI()

@app.on_event("startup")
async def startup_event():
    logger.add("logs/request.log", rotation="10 MB")

@app.get("/")
async def root():
    logger.info("Hello World")
    return {"message": "Hello World"}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)
Nach dem Login kopieren

Im obigen Code importieren wir zunächst das Logger-Objekt der Loguru-Bibliothek und fügen einen Datei-Logger hinzu. Wir haben den Pfad der Protokolldatei als logs/request.log angegeben und die maximale Größe der Protokolldatei auf 10 MB festgelegt. Dann verwenden wir in der Funktion root() die Methode logger.info(), um die Anfrage zu protokollieren.

4. Starten Sie die Anwendung.
Speichern Sie die Datei main.py und kehren Sie zum Terminal zurück. Führen Sie den folgenden Befehl aus, um die FastAPI-Anwendung zu starten:

uvicorn main:app --reload
Nach dem Login kopieren

Das Terminal gibt die Zugriffs-URL der Anwendung aus, z. B. http:// 127.0.0.1:8000. Wenn wir im Browser auf diese URL zugreifen, wird die Meldung „Hello World“ angezeigt. Öffnen Sie die Datei logs/request.log und wir sehen die Anforderungsprotokolldatensätze.

5. Überwachung von Anfragen
Zusätzlich zur Aufzeichnung von Anfrageprotokollen können wir auch die Bearbeitungszeit und den Statuscode der Anfrage überwachen. Um diese Funktion zu implementieren, müssen wir die von FastAPI bereitgestellte Middleware verwenden. Fügen Sie den folgenden Code zur Datei main.py hinzu:

from loguru import logger
import time
import uvicorn
from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI()

@app.on_event("startup")
async def startup_event():
    logger.add("logs/request.log", rotation="10 MB")

@app.on_event("shutdown")
async def shutdown_event():
    logger.remove(handler_id="request_logger")

@app.middleware("http")
async def log_request(request: Request, call_next):
    start_time = time.time()
    response = await call_next(request)
    process_time = time.time() - start_time

    logger.info(
        "Request: {method} {url} {status_code} {process_time:.2f}ms",
        method=request.method,
        url=request.url,
        status_code=response.status_code,
        process_time=process_time * 1000,
    )

    return response

@app.get("/")
async def root():
    logger.info("Hello World")
    return {"message": "Hello World"}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)
Nach dem Login kopieren

Im obigen Code importieren wir zunächst das Zeitmodul und fügen eine Ruhezeit in der Funktion root() hinzu, um die Bearbeitungszeit der Anfrage zu simulieren. Anschließend haben wir die Logik zum Berechnen der Anforderungsverarbeitungszeit und zum Aufzeichnen des Anforderungsstatuscodes in der Middleware-Funktion log_request() hinzugefügt. In der Funktion „shutdown_event()“ löschen wir den zuvor hinzugefügten Logger.

Jetzt starten Sie die FastAPI-Anwendung neu und rufen Sie die URL der Anwendung in Ihrem Browser auf. Aktualisieren Sie die Seite im Browser und öffnen Sie die Datei logs/request.log. Wir sehen die Anforderungsprotokolldatensätze einschließlich der Anforderungsmethode, der URL, des Statuscodes und der Verarbeitungszeit.

Fazit:
In diesem Artikel wird erläutert, wie Sie die Anforderungsprotokollierung und -überwachung in FastAPI implementieren. Wir verwenden die Loguru-Bibliothek zum Aufzeichnen von Anforderungsprotokollen und verwenden die Middleware von FastAPI, um die Verarbeitungszeit und den Statuscode der Anforderung zu überwachen. Diese Funktionen ermöglichen es uns, Bewerbungsanfragen und -antworten besser zu verfolgen und zu überwachen. Das Obige ist ein Codebeispiel zur Implementierung der Anforderungsprotokollierung und -überwachung.

Referenzmaterialien:

  • Offizielle Dokumentation von FastAPI: https://fastapi.tiangolo.com/
  • Offizielle Dokumentation von Loguru: https://loguru.readthedocs.io/

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich Aug 01, 2023 am 09:44 AM

So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich Einführung: FastAPI und Nginx sind zwei sehr beliebte Webentwicklungstools. FastAPI ist ein leistungsstarkes Python-Framework und Nginx ist ein leistungsstarker Reverse-Proxy-Server. Die gemeinsame Verwendung dieser beiden Tools kann die Leistung und Zuverlässigkeit Ihrer Webanwendungen verbessern. In diesem Artikel erfahren Sie, wie Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich verwenden. Was ist Reverse Generation?

So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI Jul 31, 2023 pm 01:50 PM

So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI. Einführung: Mit der Entwicklung des Internets ist die hohe Parallelität von Webanwendungen zu einem häufigen Problem geworden. Bei der Bearbeitung einer großen Anzahl von Anfragen müssen wir effiziente Frameworks und Technologien einsetzen, um die Systemleistung und Skalierbarkeit sicherzustellen. FastAPI ist ein leistungsstarkes Python-Framework, das uns dabei helfen kann, eine hohe Parallelität und Lastverteilung zu erreichen. In diesem Artikel wird erläutert, wie Sie mit FastAPI eine hohe Parallelität und einen Lastausgleich für Anforderungen erreichen. Wir werden Python3.7 verwenden

Wie lange wird die Hausüberwachung normalerweise durchgeführt? Wie lange wird die Hausüberwachung normalerweise durchgeführt? Aug 30, 2023 pm 04:44 PM

Die Hausüberwachung wird in der Regel ein bis zwei Wochen lang durchgeführt. Detaillierte Einführung: 1. Je größer die Speicherkapazität, desto länger kann das Video gespeichert werden. 2. Je größer die Kapazität der Festplatte, desto länger kann das Video gespeichert werden Vorschriften, die Anzahl der Überwachungsvideos Die Speicherzeit kann variieren 4. Einige fortschrittliche Überwachungssysteme können die Aufzeichnung auch basierend auf Bewegungserkennung oder bestimmten Ereignissen auslösen, wodurch Speicherplatz gespart wird und nützlichere Aufzeichnungen bereitgestellt werden.

So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI Jul 30, 2023 am 11:45 AM

So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI Einführung: Mit der schnellen Entwicklung von Webanwendungen sind Datenbankverbindungen und Transaktionsverarbeitung zu einem sehr wichtigen Thema geworden. FastAPI ist ein leistungsstarkes Python-Webframework, das bei Entwicklern wegen seiner Geschwindigkeit und Benutzerfreundlichkeit beliebt ist. In diesem Artikel stellen wir vor, wie Sie Datenbankverbindungen und Transaktionen in FastAPI implementieren, um Sie beim Erstellen zuverlässiger und effizienter Webanwendungen zu unterstützen. Teil 1: Datenbankanbindung in FastA

So verwenden Sie die Swagger-Benutzeroberfläche, um die API-Dokumentation in FastAPI anzuzeigen So verwenden Sie die Swagger-Benutzeroberfläche, um die API-Dokumentation in FastAPI anzuzeigen Jul 30, 2023 am 10:45 AM

So verwenden Sie SwaggerUI, um die API-Dokumentation in FastAPI anzuzeigen. Einführung: In der modernen Webentwicklung ist die API ein integraler Bestandteil. Um die Entwicklung und Wartung zu erleichtern, müssen wir eine benutzerfreundliche und benutzerfreundliche API-Dokumentation bereitstellen, damit andere Entwickler unsere API verstehen und verwenden können. Swagger ist ein beliebtes API-Dokumentationsformat und -Tool, das eine interaktive Benutzeroberfläche bereitstellt, die die Details der API visuell anzeigen kann. In diesem Artikel zeige ich Ihnen, wie Sie Fas verwenden

Python-Skript zur Überwachung von Website-Änderungen Python-Skript zur Überwachung von Website-Änderungen Aug 29, 2023 pm 12:25 PM

Im heutigen digitalen Zeitalter ist es aus verschiedenen Gründen von entscheidender Bedeutung, die neuesten Änderungen auf Ihrer Website zu kennen, z. B. um Aktualisierungen auf den Websites Ihrer Mitbewerber zu verfolgen, die Produktverfügbarkeit zu überwachen oder über wichtige Informationen auf dem Laufenden zu bleiben. Die manuelle Überprüfung Ihrer Website auf Änderungen kann zeitaufwändig und ineffizient sein. Hier kommt die Automatisierung ins Spiel. In diesem Blogbeitrag erfahren Sie, wie Sie ein Python-Skript erstellen, um Website-Änderungen zu überwachen. Indem wir die Leistungsfähigkeit von Python und einigen praktischen Bibliotheken nutzen, können wir den Prozess des Abrufens von Website-Inhalten, des Vergleichs mit früheren Versionen und der Benachrichtigung über etwaige Änderungen automatisieren. Dadurch können wir proaktiv bleiben und zeitnah auf Aktualisierungen oder Änderungen der von uns überwachten Websites reagieren. Einrichten der Umgebung Bevor wir mit dem Schreiben von Skripten zur Überwachung von Website-Änderungen beginnen, müssen wir P einrichten

Erstellen Sie internationale Webanwendungen mit dem FastAPI-Framework Erstellen Sie internationale Webanwendungen mit dem FastAPI-Framework Sep 29, 2023 pm 03:53 PM

Verwenden Sie das FastAPI-Framework, um internationale Webanwendungen zu erstellen. FastAPI ist ein leistungsstarkes Python-Web-Framework, das Python-Typ-Annotationen und leistungsstarke asynchrone Unterstützung kombiniert, um die Entwicklung von Webanwendungen einfacher, schneller und zuverlässiger zu machen. Beim Erstellen einer internationalen Webanwendung bietet FastAPI praktische Tools und Konzepte, mit denen die Anwendung problemlos mehrere Sprachen unterstützen kann. Im Folgenden werde ich ein spezifisches Codebeispiel geben, um vorzustellen, wie das FastAPI-Framework zum Erstellen verwendet wird

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI Jul 30, 2023 am 08:29 AM

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI. Einführung: FastAPI ist ein leistungsstarkes Web-Framework, das auf Python3.7+ basiert. Es bietet viele leistungsstarke Funktionen und Features, einschließlich automatisierter Anforderungs- und Antwortmodellüberprüfung, Sicherheit und Leistungsoptimierung. In der tatsächlichen Entwicklung müssen wir häufig Anforderungsprotokolle in der Anwendung aufzeichnen, um Debugging- und Überwachungsanalysen durchzuführen. In diesem Artikel wird die Implementierung der Anforderungsprotokollierung und -überwachung in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Installation

See all articles