ApiBoot Logging忽略路徑不進行採集日誌

ApiBoot Logging支持排除指定路徑不參與日誌的採集,當咱們的服務集成actuator時,會不斷的重複調用內置的路徑致使大量採集到一些無關業務的日誌信息,固然這只是一個例子,集成其餘的第三方組件時也可能出現定時重複調用接口的場景。html

建立示例項目

本章所使用的示例項目請訪問【修改ApiBoot Logging日誌採集的前綴】文章底部訪問源碼下載後導入idea工具。java

配置排除路徑

ApiBoot Logging提供了配置參數api.boot.logging.ignore-paths,該配置參數的數據類型爲java.lang.String[],能夠使用,逗號隔開配置多個忽略採集日誌的路徑。git

修改application.yml配置文件內容以下所示:web

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路徑採集日誌。spring

運行測試

導入idea的源碼並無添加/user/info路徑請求方法,下面咱們修改UserController類以下所示:json

/**
  * 用戶信息
  * /user/info
  *
  * @return
  */
@GetMapping(value = "/info")
public String info() {
  return "this is user info";
}

使用Application方式啓動本章源碼,經過curl方式訪問/user/info路徑,以下所示:api

➜ ~ curl http://localhost:8080/user/info
this is user info

訪問成功後,查看控制檯並未發現有請求日誌輸出,證實了/user/info路徑被排除了。bash

敲黑板,劃重點

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-prefixapp

做者我的 博客
使用開源框架 ApiBoot 助你成爲Api接口服務架構師
相關文章
相關標籤/搜索