通常これは、servlet filterを使用することによって達成できます。サーブレットフィルタは、リクエストを「インターセプト」し、そのレスポンスは途中で返されます。 HttpServletRequestとHttpServletResponseから必要なすべての情報にアクセスし、必要に応じてログに記録することができます。
簡単な例:
public class LoggingFilter implements javax.servlet.Filter {
private static final Logger LOGGER = LoggerFactory.getLogger(LoggingFilter.class);
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
// log information from the httpServletRequest like url, params, etc
filterChain.doFilter(servletRequest, servletResponse);
// log information regarding the httpServletResponse like status code, etc
}
}
あなたの@ SpringBootApplication-注釈付きクラスのフィルタを登録する:
@Bean
public FilterRegistrationBean loadBalancerHealthCheckHandler() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new LoggingFilter());
registration.addUrlPatterns("/*");
return registration;
}
埋め込み式の桟橋や外壁を使用していますか? –
私は外部のtomcatを使用しています。 – NAZEHA
どのHTTPクライアントを使用していますか? –