在Spring Boot 中集中記錄帶有異常的請求和回應
開發REST API 時,捕獲所有請求和回應的全面日誌至關重要,包括輸入參數、類別方法和異常。這種集中式日誌記錄可以實現快速調試和審核。
最佳實踐方法
Spring Boot 為這項任務提供了一個有效且簡單的解決方案:Actuator 模組。 Actuator 提供了一個端點(/trace 或 /actuator/httptrace),預設記錄最後 100 個 HTTP 請求。
自訂
記錄每個請求並自訂端點根據您的特定需求,您可以:
其他注意事項
其他託管提供者(例如 Heroku)通常將請求日誌記錄作為服務提供,從而無需自訂程式碼。
示例
在Spring Boot 中配置Actuator 以進行請求和響應日誌記錄應用程序:
dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' } # Security configuration (optional) security { httpBasic {} headers { hsts { enabled = true maxAge = 31536000L # 1 year } } }
輸出
/trace 端點產生類似所需格式的JSON回應:
{ "timestamp": 1656211869816, "message": "Successful request", "path": "/api/users/1", "method": "GET", "status": 200, "timeTaken": 1397 }
如果例外:
{ "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" }
以上是如何集中記錄 Spring Boot REST API 請求、回應和異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!