我在Spring Boot应用程序中的属性文件server.tomcat.accesslog.enabled=true
上启用了访问日志,但问题是现在我的访问日志文件被运行状况检查端点(由Spring执行器提供)轰炸了。
是否可以启用访问日志但过滤掉运行状况检查?
答案 0 :(得分:0)
最后找到了一种方法。
您需要为application.properties
添加过滤器和道具:
AccessLogFilter.java
@WebFilter(urlPatterns = "/actuator/health")
public class AccessLogFilter implements Filter {
@Value("${server.tomcat.accesslog.condition-unless}")
private String conditionUnless;
@Override
public void doFilter(
ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException
{
request.setAttribute(conditionUnless, "NO_LOG");
chain.doFilter(request, response);
}
}
application.properties
server.tomcat.accesslog.condition-unless=accessLog
在主SpringApplication类中添加@ServletComponentScan
注释,以使@WebFilter
正常工作。
@SpringBootApplication
@ServletComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}