ApiBoot Logging
支持指定單個(gè)或者多個(gè)路徑的前綴進(jìn)行采集,也就是我們可以指定/user/**
或者/order/**
下的單個(gè)或者同時(shí)指定多個(gè)路徑進(jìn)行采集請(qǐng)求日志,其他不符合Ant
表達(dá)式的路徑就會(huì)被忽略掉。
創(chuàng)建示例項(xiàng)目
使用idea
創(chuàng)建SpringBoot
項(xiàng)目。
添加ApiBoot Logging依賴
創(chuàng)建項(xiàng)目后在pom.xml
配置文件內(nèi)添加依賴如下所示:
org.springframework.bootspring-boot-starter-weborg.minbox.frameworkapi-boot-starter-loggingorg.minbox.frameworkapi-boot-dependencies2.1.4.RELEASEimportpom
默認(rèn)攔截路徑
ApiBoot Logging
默認(rèn)的攔截路徑是/**
,可以訪問(wèn)org.minbox.framework.api.boot.autoconfigure.logging.ApiBootLoggingProperties
屬性配置類查看源碼。
配置采集攔截器前綴
ApiBoot Logging
提供了在application.yml
配置文件內(nèi)修改的配置參數(shù)api.boot.logging.logging-path-prefix
,該配置參數(shù)接收的類型為java.lang.String[]
,所以我們可以使用,
逗號(hào)隔開配置多個(gè)路徑,如下所示:
spring:
application:
name: modify-apiboot-logging-collection-prefix
server:
port: 8080
api:
boot:
# ApiBoot Logging 相關(guān)配置
logging:
# 修改采集日志的前綴
logging-path-prefix: /user/**,/order/**
# 控制臺(tái)打印日志
show-console-log: true
# 美化控制臺(tái)打印的日志
format-console-log-json: true
啟用ApiBoot Logging Client
配置已經(jīng)完成,下面我們?cè)?code>入口類(XxxApplication)或者配置類(XxxConfiguration)
上添加@EnableLoggingClient
注解來(lái)啟用ApiBoot Logging
的功能,如下所示:
/**
* 入口類
*
* @author 恒宇少年
*/
@SpringBootApplication
@EnableLoggingClient
public class ModifyApibootLoggingCollectionPrefixApplication {
public static void main(String[] args) {
SpringApplication.run(ModifyApibootLoggingCollectionPrefixApplication.class, args);
}
}
運(yùn)行測(cè)試
使用idea
的Application或者java -jar xxx.jar
的形式來(lái)運(yùn)行本章源碼,本章源碼的端口號(hào)配置為8080
,我們需要從下面幾個(gè)點(diǎn)進(jìn)行測(cè)試。
測(cè)試點(diǎn):匹配/user/**路徑
添加測(cè)試控制器類UserController
如下所示:
@RestController
@RequestMapping(value = "/user")
public class UserController {
/**
* 測(cè)試日志攔截路徑接口
*
* @param name
* @return
*/
@GetMapping
public String welcome(@RequestParam("name") String name) {
return "hello, " + name;
}
}
通過(guò)如下命令訪問(wèn)測(cè)試接口:
? ~ curl http://localhost:8080/user/?name/=hengboy
hello, hengboy
/user
路徑匹配/user/**
表達(dá)式,所以我們?cè)诳刂婆_(tái)可以看到請(qǐng)求日志的打印。
測(cè)試點(diǎn):匹配/order/**路徑
添加測(cè)試控制器類OrderController
如下所示:
@RestController
@RequestMapping(value = "/order")
public class OrderController {
@PostMapping
public String submit() {
return "訂單:" + UUID.randomUUID().toString() + ",提交成功.";
}
}
通過(guò)如下命令訪問(wèn)測(cè)試接口:
? ~ curl -X POST http://localhost:8080/order
訂單:24a24d24-539e-4da9-9272-e68fd592313c,提交成功.
/order
路徑匹配/order/**
表達(dá)式,所以我們?cè)诳刂婆_(tái)也可以看到請(qǐng)求日志的打印。
測(cè)試點(diǎn):其他路徑
添加測(cè)試控制器類OtherController
如下所示:
@RestController
public class OtherController {
@GetMapping(value = "/other")
public String other() {
return "this is other path";
}
}
通過(guò)如下命令訪問(wèn)測(cè)試接口:
? ~ curl http://localhost:8080/other
this is other path
由于/other
路徑并不匹配/user/**
或者/order/**
表達(dá)式,所以我們?cè)诳刂婆_(tái)并沒(méi)有看到日志的打印。
敲黑板,劃重點(diǎn)
ApiBoot Logging
支持單個(gè)或者多個(gè)路徑配置來(lái)進(jìn)行過(guò)濾指定路徑前綴來(lái)采集日志,讓日志采集不再不可控,更精準(zhǔn)的定位到業(yè)務(wù)請(qǐng)求的日志采集。
審核編輯 黃昊宇
-
JAVA
+關(guān)注
關(guān)注
19文章
2973瀏覽量
104923 -
MySQL
+關(guān)注
關(guān)注
1文章
823瀏覽量
26657 -
人臉識(shí)別
+關(guān)注
關(guān)注
76文章
4014瀏覽量
82112
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論