在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在請求正文中上傳多個檔案,並使用Postman進行測試Spring BootPostman
- Spring Boot使用AOP在控制檯列印請求、響應資訊Spring Boot
- 使用DataSource-Proxy在Spring Boot中記錄SQL語句 - Vlad MihalceaSpring BootSQL
- Spring Boot入坑-7-後端HTTP請求Spring Boot後端HTTP
- spring boot請求字尾匹配的操作Spring Boot
- Spring Boot 記錄Spring Boot
- 在Java中,使用HttpUtils實現傳送HTTP請求JavaHTTP
- Spring Boot中的 6 種API請求引數讀取方式Spring BootAPI
- 記錄---前端中斷請求的方式與原理前端
- (七)Spring Boot Controller的請求引數獲取Spring BootController
- 如何在Spring Boot中驗證JSON請求內容? - SeunSpring BootJSON
- 使用中介軟體記錄Laravel慢請求Laravel
- 十、Spring Boot整合Spring Security之HTTP請求授權Spring BootHTTP
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- Vue 使用 Axios 傳送請求的請求體問題VueiOS
- Spring Boot 2 中如何使用 Log4j2 記錄日誌Spring Boot
- spring-boot記錄sql探索SpringbootSQL
- 學習記錄Spring Boot 記錄配置細節Spring Boot
- 記錄環信IM使用restful介面時遇到的傳送PUT請求失敗的問題REST
- [入門向]在Golang中像Python一樣快速使用HTTP請求GolangPythonHTTP
- 如何使用 request-promise 在傳送請求時使用代理ip?Promise
- 使用Feign傳送HTTP請求HTTP
- 使用Postman傳送POST請求的指南Postman
- spring-boot-route(十七)使用aop記錄操作日誌Springboot
- 在spring boot3中使用native imageSpring Boot
- FastAPI中請求URL傳參ASTAPI
- 在 Spring Boot 中使用 RedisSpring BootRedis
- SpringBoot記錄HTTP請求日誌Spring BootHTTP
- spring cloud gateway 原始碼解析(3)記錄請求引數及返回的jsonSpringCloudGateway原始碼JSON
- 在html中使用axios傳送請求到servlet時遇到的傳值問題HTMLiOSServlet
- 盤點 Spring Boot 解決跨域請求的幾種方法Spring Boot跨域
- postman 請求引數和 Spring Boot Controller 接受引數PostmanSpring BootController
- spring boot中zookeeper使用Spring Boot
- spring boot中redis使用Spring BootRedis
- 【Spring Boot 使用記錄】kafka自動配置和自定義配置Spring BootKafka
- nodejs使用request傳送http請求NodeJSHTTP
- Spring基於註解的環繞通知實現請求方法日誌記錄Spring
- Spring boot學習(六)Spring boot實現AOP記錄操作日誌Spring Boot