ApiBoot Logging忽略路徑不進行採集日誌
ApiBoot Logging
支援排除指定路徑不參與日誌的採集,當我們的服務整合actuator
時,會不斷的重複呼叫內建的路徑導致大量採集到一些無關業務的日誌資訊,當然這只是一個例子,整合其他的第三方元件時也可能出現定時重複呼叫介面的場景。
建立示例專案
本章所使用的示例專案請訪問【修改ApiBoot Logging日誌採集的字首】文章底部訪問原始碼下載後匯入idea
工具。
配置排除路徑
ApiBoot Logging
提供了配置引數api.boot.logging.ignore-paths
,該配置引數的資料型別為java.lang.String[]
,可以使用,
逗號隔開配置多個忽略採集日誌
的路徑。
修改application.yml
配置檔案內容如下所示:
api:
boot:
# ApiBoot Logging 相關配置
logging:
# 修改採集日誌的字首
logging-path-prefix: /user/**,/order/**
# 控制檯列印日誌
show-console-log: true
# 美化控制檯列印的日誌
format-console-log-json: true
# 排除/user/info路徑不進行採集日誌
ignore-paths: /user/info複製程式碼
在上面配置中排除了/user/info
路徑採集日誌。
執行測試
匯入idea
的原始碼並沒有新增/user/info
路徑請求方法,下面我們修改UserController
類如下所示:
/**
* 使用者資訊
* /user/info
*
* @return
*/
@GetMapping(value = "/info")
public String info() {
return "this is user info";
}複製程式碼
使用Application
方式啟動本章原始碼,通過curl
方式訪問/user/info
路徑,如下所示:
➜ ~ curl http://localhost:8080/user/info
this is 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
:
- Gitee:https://gitee.com/hengboy/spring-boot-chapter
作者個人 部落格
使用開源框架 ApiBoot 助你成為Api介面服務架構師