ApiBoot Logging忽略路径不进行采集日志
ApiBoot Logging支持排除指定路径不参与日志的采集,当我们的服务集成actuator时,会不断的重复调用内置的路径导致大量采集到一些无关业务的日志信息,当然这只是一个例子,集成其他的第三方组件时也可能出现定时重复调用接口的场景。
创建示例项目
本章所使用的示例项目请访问【/modify-apiboot-logging-collection-prefix.html】文章底部访问源码下载后导入idea工具。
配置排除路径
ApiBoot Logging提供了配置参数api.boot.logging.ignore-paths,该配置参数的数据类型为java.lang.String[],可以使用,逗号隔开配置多个忽略采集日志的路径。
修改application.yml配置文件内容如下所示:
1 | api: |
在上面配置中排除了/user/info路径采集日志。
运行测试
导入idea的源码并没有添加/user/info路径请求方法,下面我们修改UserController类如下所示:
1 | /** |
使用Application方式启动本章源码,通过curl方式访问/user/info路径,如下所示:
1 | ➜ ~ curl http://localhost:8080/user/info |
访问成功后,查看控制台并未发现有请求日志输出,证明了/user/info路径被排除了。
敲黑板,划重点
api.boot.logging.ignore-paths配置参数与api.boot.logging.logging-path-prefix可以组合使用,可以进行重叠,排除的路径是在org.minbox.framework.logging.client.interceptor.web.LoggingWebInterceptor#checkIgnore方法内进行判断,支持Ant风格路径过滤。
本章源码
本篇文章示例源码可以通过以下途径获取,目录为SpringBoot2.x/modify-apiboot-logging-collection-prefix:
ApiBoot Logging忽略路径不进行采集日志
https://blog.minbox.org/ignore-apiboot-logging-collection-path.html

OAuth vs SAML vs OpenID
