Anfragen und Antworten mit Ausnahmen zentral in Spring Boot protokollieren
Bei der Entwicklung von REST-APIs ist es wichtig, umfassende Protokolle aller Anfragen und Antworten zu erfassen , einschließlich Eingabeparameter, Klassenmethoden und Ausnahmen. Diese zentralisierte Protokollierung ermöglicht ein schnelles Debugging und Auditing.
Best-Practice-Ansatz
Spring Boot bietet eine effektive und unkomplizierte Lösung für diese Aufgabe: das Actuator-Modul. Actuator stellt einen Endpunkt (/trace oder /actuator/httptrace) bereit, der standardmäßig die letzten 100 HTTP-Anfragen protokolliert.
Anpassung
Um jede Anfrage zu protokollieren und den Endpunkt anzupassen Je nach Ihren spezifischen Anforderungen können Sie:
Zusätzliche Überlegungen
Andere Hosting-Anbieter, wie z Stellen Sie wie Heroku häufig die Anforderungsprotokollierung als Dienst bereit, sodass kein benutzerdefinierter Code erforderlich ist.
Beispiel
Um Actuator für die Anforderungs- und Antwortprotokollierung in einer Spring Boot-Anwendung zu konfigurieren :
dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' } # Security configuration (optional) security { httpBasic {} headers { hsts { enabled = true maxAge = 31536000L # 1 year } } }
Ausgabe
Der /trace-Endpunkt erzeugt eine JSON-Antwort ähnlich dem gewünschten Format:
{ "timestamp": 1656211869816, "message": "Successful request", "path": "/api/users/1", "method": "GET", "status": 200, "timeTaken": 1397 }
Im Ausnahmefall:
{ "timestamp": 1656211972854, "message": "UserNotFoundException: User with id 9999 not found", "path": "/api/users/9999", "method": "GET", "status": 404, "timeTaken": 2063, "exception": "UserNotFoundException", "error": "User with id 9999 not found" }
Das obige ist der detaillierte Inhalt vonWie kann ich Anfragen, Antworten und Ausnahmen der Spring Boot REST API zentral protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!