ApiBoot Logging
支持指定單個或者多個路徑的前綴進(jìn)行采集,也就是我們可以指定/user/**
或者/order/**
下的單個或者同時指定多個路徑進(jìn)行采集請求日志,其他不符合Ant
表達(dá)式的路徑就會被忽略掉。
創(chuàng)建示例項目
使用idea
創(chuàng)建SpringBoot
項目。
添加ApiBoot Logging依賴
創(chuà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)的攔截路徑是/**
,可以訪問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[]
,所以我們可以使用,
逗號隔開配置多個路徑,如下所示:
spring:
application:
name: modify-apiboot-logging-collection-prefix
server:
port: 8080
api:
boot:
# ApiBoot Logging 相關(guān)配置
logging:
# 修改采集日志的前綴
logging-path-prefix: /user/**,/order/**
# 控制臺打印日志
show-console-log: true
# 美化控制臺打印的日志
format-console-log-json: true
啟用ApiBoot Logging Client
配置已經(jīng)完成,下面我們在入口類(XxxApplication)
或者配置類(XxxConfiguration)
上添加@EnableLoggingClient
注解來啟用ApiBoot Logging
的功能,如下所示:
/**
* 入口類
*
* @author 恒宇少年
*/
@SpringBootApplication
@EnableLoggingClient
public class ModifyApibootLoggingCollectionPrefixApplication {
public static void main(String[] args) {
SpringApplication.run(ModifyApibootLoggingCollectionPrefixApplication.class, args);
}
}
運(yùn)行測試
使用idea
的Application或者java -jar xxx.jar
的形式來運(yùn)行本章源碼,本章源碼的端口號配置為8080
,我們需要從下面幾個點(diǎn)進(jìn)行測試。
測試點(diǎn):匹配/user/**路徑
添加測試控制器類UserController
如下所示:
@RestController
@RequestMapping(value = "/user")
public class UserController {
/**
* 測試日志攔截路徑接口
*
* @param name
* @return
*/
@GetMapping
public String welcome(@RequestParam("name") String name) {
return "hello, " + name;
}
}
通過如下命令訪問測試接口:
? ~ curl http://localhost:8080/user/?name/=hengboy
hello, hengboy
/user
路徑匹配/user/**
表達(dá)式,所以我們在控制臺可以看到請求日志的打印。
測試點(diǎn):匹配/order/**路徑
添加測試控制器類OrderController
如下所示:
@RestController
@RequestMapping(value = "/order")
public class OrderController {
@PostMapping
public String submit() {
return "訂單:" + UUID.randomUUID().toString() + ",提交成功.";
}
}
通過如下命令訪問測試接口:
? ~ curl -X POST http://localhost:8080/order
訂單:24a24d24-539e-4da9-9272-e68fd592313c,提交成功.
/order
路徑匹配/order/**
表達(dá)式,所以我們在控制臺也可以看到請求日志的打印。
測試點(diǎn):其他路徑
添加測試控制器類OtherController
如下所示:
@RestController
public class OtherController {
@GetMapping(value = "/other")
public String other() {
return "this is other path";
}
}
通過如下命令訪問測試接口:
? ~ curl http://localhost:8080/other
this is other path
由于/other
路徑并不匹配/user/**
或者/order/**
表達(dá)式,所以我們在控制臺并沒有看到日志的打印。
敲黑板,劃重點(diǎn)
ApiBoot Logging
支持單個或者多個路徑配置來進(jìn)行過濾指定路徑前綴來采集日志,讓日志采集不再不可控,更精準(zhǔn)的定位到業(yè)務(wù)請求的日志采集。
審核編輯 黃昊宇
-
JAVA
+關(guān)注
關(guān)注
20文章
2986瀏覽量
107038 -
MySQL
+關(guān)注
關(guān)注
1文章
849瀏覽量
27607 -
人臉識別
+關(guān)注
關(guān)注
77文章
4070瀏覽量
83760
發(fā)布評論請先 登錄
PADS Logic中如何去修改元件的參考前綴?
前綴和真前綴的區(qū)別分析
ApiBoot Logging Admin可視化界面管理日志教程
ApiBoot Logging使用Rest Template透傳鏈路信息
ApiBoot Logging使用Spring Cloud Openfeign透傳鏈路信息
ApiBoot Logging整合Spring Cloud Eureka負(fù)載均衡上報日志
ApiBootLogging整合SpringSecurity安全上報日志
ApiBoot Logging忽略路徑不進(jìn)行采集日志的教程
vivo大數(shù)據(jù)日志采集Agent設(shè)計實踐
Spring Boot的日志框架使用

Python寫入到日志文件完整代碼

kernel日志寫入logd介紹

詳解journalctl日志管理

評論