在Spring Boot中使用CommonsRequestLoggingFilter記錄傳入的請求
Spring框架帶有一個開箱即用的功能:可以記錄您的請求,我們只需要配置它,即可隨時可用。Spring 自帶 AbstractRequestLoggingFilter,在處理請求之前和之後執行日誌記錄操作。
在我們進入實現細節之前,這個過濾器需要一個子類來覆蓋beforeRequest(HttpServletRequest, String)和afterRequest(HttpServletRequest, String)方法來執行圍繞請求的實際日誌記錄。
Spring 提供了以下 2 個實現 AbstractRequestLoggingFilter
- CommonsRequestLoggingFilter
- ServletContextRequestLoggingFilter
ServletContextRequestLoggingFilter 將請求 URI(以及可選的查詢字串)寫入日誌的簡單請求日誌過濾器ServletContext。我們將CommonsRequestLoggingFilter在這篇文章中討論。
Spring Boot 是建立和執行由 Spring 驅動的應用程式的新方法,我們CommonsRequestLoggingFilter只需將其註冊為應用程式的 bean即可啟用。
@Bean public CommonsRequestLoggingFilter requestLoggingFilter() { CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter(); loggingFilter.setIncludeClientInfo(true); loggingFilter.setIncludeQueryString(true); loggingFilter.setIncludePayload(true); loggingFilter.setIncludeHeaders(false); return loggingFilter; } |
除了上面的配置,我們還需要確保透過application.properties或 透過CommonsRequestLoggingFilter將日誌級別設定為DEBUG
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG |
一旦這些配置就位,您應該能夠在控制檯中看到類似的輸出:
2017-10-25 19:52:02.708 DEBUG 70034 --- [io-10070-exec-4] o.s.w.f.CommonsRequestLoggingFilter : Before request [uri=/demo/greeting;client=0:0:0:0:0:0:0:1] 2017-10-25 19:52:02.791 DEBUG 70034 --- [io-10070-exec-4] o.s.w.f.CommonsRequestLoggingFilter : After request [uri=/demo/greeting;client=0:0:0:0:0:0:0:1] |
相關文章
- Spring Boot使用AOP在控制檯列印請求、響應資訊Spring Boot
- 使用Spring Boot在請求正文中上傳多個檔案,並使用Postman進行測試Spring BootPostman
- Spring Boot入坑-7-後端HTTP請求Spring Boot後端HTTP
- 在Java中,使用HttpUtils實現傳送HTTP請求JavaHTTP
- JMS 在 Spring Boot 中的使用Spring Boot
- 使用DataSource-Proxy在Spring Boot中記錄SQL語句 - Vlad MihalceaSpring BootSQL
- spring boot請求字尾匹配的操作Spring Boot
- Spring Boot 記錄Spring Boot
- Spring Boot中的 6 種API請求引數讀取方式Spring BootAPI
- 使用中介軟體記錄Laravel慢請求Laravel
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- Spring Boot(十一):Spring Boot 中 MongoDB 的使用Spring BootMongoDB
- Spring Boot(三):Spring Boot 中 Redis 的使用Spring BootRedis
- 如何在Spring Boot中驗證JSON請求內容? - SeunSpring BootJSON
- Vue 使用 Axios 傳送請求的請求體問題VueiOS
- Spring Boot(十七):使用 Spring Boot 上傳檔案Spring Boot
- Spring Boot 2 中如何使用 Log4j2 記錄日誌Spring Boot
- FastAPI中請求URL傳參ASTAPI
- 記錄環信IM使用restful介面時遇到的傳送PUT請求失敗的問題REST
- 使用HttpClient傳送GET請求HTTPclient
- 使用httpclient傳送http請求HTTPclient
- 學習記錄Spring Boot 記錄配置細節Spring Boot
- 使用Postman傳送POST請求的指南Postman
- spring-boot記錄sql探索SpringbootSQL
- [入門向]在Golang中像Python一樣快速使用HTTP請求GolangPythonHTTP
- (七)Spring Boot Controller的請求引數獲取Spring BootController
- 使用strutstestcase如何在請求引數中傳遞物件...物件
- spring-boot-route(十七)使用aop記錄操作日誌Springboot
- 使用Feign傳送HTTP請求HTTP
- postman傳送請求使用篇(二)Postman
- 使用C#傳送POST請求C#
- 在 Spring Boot 中使用 RedisSpring BootRedis
- 盤點 Spring Boot 解決跨域請求的幾種方法Spring Boot跨域
- spring boot中zookeeper使用Spring Boot
- spring boot中redis使用Spring BootRedis
- Spring Boot中Dockerfile使用Spring BootDocker
- 在html中使用axios傳送請求到servlet時遇到的傳值問題HTMLiOSServlet
- 在spring boot3中使用native imageSpring Boot