修改ApiBoot Logging日志采集的前缀
ApiBoot Logging
支持指定单个或者多个路径的前缀进行采集,也就是我们可以指定/user/**
或者/order/**
下的单个或者同时指定多个路径进行采集请求日志,其他不符合Ant
表达式的路径就会被忽略掉。
创建示例项目
使用idea
创建SpringBoot
项目。
添加ApiBoot Logging依赖
创建项目后在pom.xml
配置文件内添加依赖如下所示:
1 | <dependencies> |
默认拦截路径
ApiBoot Logging
默认的拦截路径是/**
,可以访问org.minbox.framework.api.boot.autoconfigure.logging.ApiBootLoggingProperties
属性配置类查看源码。
配置采集拦截器前缀
ApiBoot Logging
提供了在application.yml
配置文件内修改的配置参数api.boot.logging.logging-path-prefix
,该配置参数接收的类型为java.lang.String[]
,所以我们可以使用,
逗号隔开配置多个路径,如下所示:
1 | spring: |
启用ApiBoot Logging Client
配置已经完成,下面我们在入口类(XxxApplication)
或者配置类(XxxConfiguration)
上添加@EnableLoggingClient
注解来启用ApiBoot Logging
的功能,如下所示:
1 | /** |
运行测试
使用idea
的Application或者java -jar xxx.jar
的形式来运行本章源码,本章源码的端口号配置为8080
,我们需要从下面几个点进行测试。
测试点:匹配/user/**路径
添加测试控制器类UserController
如下所示:
1 |
|
通过如下命令访问测试接口:
1 | ➜ ~ curl http://localhost:8080/user\?name\=hengboy |
/user
路径匹配/user/**
表达式,所以我们在控制台可以看到请求日志的打印。
测试点:匹配/order/**路径
添加测试控制器类OrderController
如下所示:
1 |
|
通过如下命令访问测试接口:
1 | ➜ ~ curl -X POST http://localhost:8080/order |
/order
路径匹配/order/**
表达式,所以我们在控制台也可以看到请求日志的打印。
测试点:其他路径
添加测试控制器类OtherController
如下所示:
1 |
|
通过如下命令访问测试接口:
1 | ➜ ~ curl http://localhost:8080/other |
由于/other
路径并不匹配/user/**
或者/order/**
表达式,所以我们在控制台并没有看到日志的打印。
敲黑板,划重点
ApiBoot Logging
支持单个或者多个路径配置来进行过滤指定路径前缀来采集日志,让日志采集不再不可控,更精准的定位到业务请求的日志采集。
本章源码
本篇文章示例源码可以通过以下途径获取,目录为SpringBoot2.x/modify-apiboot-logging-collection-prefix
:
修改ApiBoot Logging日志采集的前缀
https://blog.minbox.org/modify-apiboot-logging-collection-prefix.html