我們使用spring引導來編寫RESTFul Web服務。我們的應用程序中有大量的Web服務。新的要求現在在這裏。我的老闆讓我跟蹤每項服務請求。 例如:如果調用登錄服務,則必須使用計數,響應狀態和更少的細節來跟蹤它。有沒有辦法。類似於攔截器,它將在服務處理完成之後和服務響應之前被調用。跟蹤彈簧引導應用程序中的所有請求
1
A
回答
0
我覺得適合你的工具是春天啓動器,尤其是/度網址追蹤您的應用程序的每個端點的請求(和響應代碼)(除其他事項外):
https://spring.io/guides/gs/actuator-service/
http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-metrics.html
2
Spring Boot支持servlet過濾器,並允許您以與@Component相同的方式註冊它們(通過使用@Component註釋類並將其放置在Spring Boot將自動配置類的包中)
使用(ServletRequest req,ServletResponse res)對象檢索您需要的數據。
package application.basepackage.maybeafilterspecificpackage;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
@Component
public class SimpleLoggingFilter implements Filter {
private final Logger logger = LoggerFactory.getLogger(SimpleLoggingFilter .class);
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
String url = request.getServletPath();
logger.info(url + " - " + request.getMethod());
chain.doFilter(req, res);
logger.info(url + " - " + response.getStatus());
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
我創建映射到/測試下面我收拾我的日誌是更具可讀性它簡單地返回字符串的@RequestMapping。
這一次,我有方法拋出一個異常
/test - GET
/test - 500
/favicon.ico - GET
/favicon.ico - 200
然後我固定它簡單地返回一個字符串
/test - GET
/test - 200
/favicon.ico - GET
/favicon.ico - 200
你說話,好像你需要一點點更多的權力在你的日誌但如果你使用嵌入式Tomcat,那麼更簡單的選擇是。
+0
感謝您的答覆。我將以不同的方式解析訪問日誌。需要敲定更好的方法 – Vamshi
相關問題
- 1. 跟蹤應用程序的HTTP請求
- 2. 在AWS上的502錯誤請求彈簧引導應用程序
- 3. 將彈簧引導應用程序添加爲另一個彈簧引導應用程序的依賴關係
- 4. 跟蹤用戶對用戶的應用程序請求(邀請)
- 5. 彈簧mvc跟蹤引薦網頁
- 6. 使用彈簧引導管理的非彈簧引導工程
- 7. 跟蹤程序中的所有調用?
- 8. 爲彈簧引導應用
- 9. 如何跟蹤控制檯應用程序中的MongoDB請求
- 10. 彈簧引導應用程序中注入的Spring Bean是NULL
- 11. 在彈簧引導應用程序中禁用HTTP OPTIONS方法
- 12. 基於彈簧配置文件的彈簧引導應用程序屬性
- 13. 400錯誤的請求彈簧測試Web應用程序
- 14. 跟蹤文件請求引用者
- 15. 通過不同的請求跟蹤.net應用程序變量
- 16. 如何跟蹤Web應用程序請求的來源?
- 17. 在彈簧引導應用程序中發佈網頁內容
- 18. 在彈簧引導應用程序中模擬DB視圖
- 19. 在彈簧引導應用程序中添加角度
- 20. 簡單的彈簧引導應用程序 - HttpServletResponse的需要
- 21. 跟蹤ASP.NET應用程序中的所有方法調用
- 22. Maven構建Java 9彈簧引導應用程序時的RuntimeException
- 23. 沒有彈簧的web應用程序的彈簧配置MVC
- 24. 如何使用彈簧引導應用程序配置Wily
- 25. 如何跟蹤Java應用程序中的所有組件?
- 26. 跟蹤Android應用程序中的所有UI點擊
- 27. 如何在彈簧引導應用程序中替換現有的bean?
- 28. JPA/Hibernate在彈簧引導應用程序中插入到非現有表中
- 29. HTTP請求跟蹤
- 30. 跟蹤wget請求
感謝您的回覆。我將以不同的方式解析訪問日誌。需要確定更好的方法 – Vamshi