我正在使用spring-actuator,并希望限制跟踪请求/响应日志记录的路径。按如下方式尝试,但仍将调用的所有路径记录到http://localhost:8080/actuator/httptrace
@Bean
@ConditionalOnBean(HttpTraceFilter.class)
public FilterRegistrationBean traceFilterRegistration(HttpTraceFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setUrlPatterns("/test/*"));
return registration;
}在httptrace端点中,我仍然看到对http://localhost:8080/actuator/mappings或http://localhost:8080/favicon.ico的请求。但是由于我的映射url模式,这些应该被隐藏起来,不是吗?
旁注:我注意到,当省略@ConditionalOnBean时,它可以像预期的那样使用受限制的路径。这可能与跟踪过滤器的初始化顺序有关...
发布于 2018-07-30 23:42:17
如果您需要截获请求,您可以这样做:
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CustomInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
//your custom logic here.
return true;
}
}然后在这里注册以拦截您所需的路径:
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(new
CustomInterceptor()).addPathPatterns("/actuator/**","/test/**");
}
}https://stackoverflow.com/questions/51596513
复制相似问题