0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

修改ApiBoot Logging日志采集前綴的教程

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-10 22:20 ? 次閱讀

ApiBoot Logging支持指定單個或者多個路徑的前綴進行采集,也就是我們可以指定/user/**或者/order/**下的單個或者同時指定多個路徑進行采集請求日志,其他不符合Ant表達式的路徑就會被忽略掉。

創(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

默認攔截路徑

ApiBoot Logging默認的攔截路徑是/**,可以訪問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);
    }

}

運行測試

使用idea的Application或者java -jar xxx.jar的形式來運行本章源碼,本章源碼的端口號配置為8080,我們需要從下面幾個點進行測試。

測試點:匹配/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/**表達式,所以我們在控制臺可以看到請求日志的打印。

測試點:匹配/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/**表達式,所以我們在控制臺也可以看到請求日志的打印。

測試點:其他路徑

添加測試控制器類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/**表達式,所以我們在控制臺并沒有看到日志的打印。

敲黑板,劃重點

ApiBoot Logging支持單個或者多個路徑配置來進行過濾指定路徑前綴來采集日志,讓日志采集不再不可控,更精準的定位到業(yè)務(wù)請求的日志采集。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2943

    瀏覽量

    104110
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    789

    瀏覽量

    26286
  • 人臉識別
    +關(guān)注

    關(guān)注

    76

    文章

    3998

    瀏覽量

    81364
收藏 人收藏

    評論

    相關(guān)推薦

    2018上海云棲大會workshop-日志數(shù)據(jù)采集與分析對接

    名稱加上登陸賬號前綴進行區(qū)別創(chuàng)建logstore存儲訪問日志向?qū)?chuàng)建NGINX日志采集配置文件路徑(/var/log)和文件名稱(access_log),其中NGINX
    發(fā)表于 06-20 16:44

    Python日志logging模塊簡單介紹

    Python日志logging模塊的使用-數(shù)據(jù)庫腳本優(yōu)化003
    發(fā)表于 03-05 13:46

    PADS Logic中如何去修改元件的參考前綴?

      在logic中做元件庫,都會給元器件定義位號的首字母,后面在繪制原理圖放置元器件時,就會按這個來遞增編號,常見的元器件位號首字母定義參考章節(jié)2.36,下面講解如何修改元件的參考前綴:   第一步
    發(fā)表于 04-28 17:10

    前綴和真前綴的區(qū)別分析

    如此看來,KMP 之前綴并非前綴,而是真前綴!而大多數(shù)(幾乎所有)的博客都在以 “真前綴” 去定義“前綴”。 next 數(shù)組是 KMP
    的頭像 發(fā)表于 12-22 13:51 ?8686次閱讀

    ApiBoot Logging Admin可視化界面管理日志教程

    ApiBoot Logging Admin支持界面可視化查看請求日志信息,初期版本支持查看上報日志的服務(wù)列表、最新的鏈路日志等功能,還可以整
    的頭像 發(fā)表于 12-10 22:03 ?439次閱讀

    ApiBoot Logging使用Rest Template透傳鏈路信息

    在上一篇文章【ApiBoot Logging使用SpringCloud Openfeign透傳鏈路信息】中我們詳細的講解了ApiBoot Logging整合SpringCloud通過O
    的頭像 發(fā)表于 12-10 22:03 ?526次閱讀

    ApiBoot Logging使用Spring Cloud Openfeign透傳鏈路信息

    ApiBoot Logging可以無縫整合SpringCloud來采集請求日志,目前支持RestTemplate、Openfeign兩種方式,我們本章來講解下在使用Openfeign.
    的頭像 發(fā)表于 12-10 22:05 ?473次閱讀

    ApiBoot Logging整合Spring Cloud Eureka負載均衡上報日志

    ApiBoot Logging支持整合服務(wù)注冊中心(Eureka、Consul、Nacos Discovery、Zookeeper...)進行上報請求日志,Logging Client
    的頭像 發(fā)表于 12-10 22:08 ?350次閱讀

    ApiBootLogging整合SpringSecurity安全上報日志

    ApiBoot Logging在上報日志時雖然是一般通過內(nèi)網(wǎng)的形式部署,不過安全方面還是主要依賴于服務(wù)器的安全策略(防火墻),為了提高日志上報...
    的頭像 發(fā)表于 12-10 22:09 ?328次閱讀

    ApiBoot Logging忽略路徑不進行采集日志的教程

    ApiBoot Logging支持排除指定路徑不參與日志采集,當我們的服務(wù)集成actuator時,會不斷的重復(fù)調(diào)用內(nèi)置的路徑導(dǎo)致大量采集
    的頭像 發(fā)表于 12-10 22:18 ?342次閱讀

    minbox-logging鏈路日志分析框架

    gitee-minbox-logging.zip
    發(fā)表于 04-27 10:07 ?1次下載
    minbox-<b class='flag-5'>logging</b>鏈路<b class='flag-5'>日志</b>分析框架

    vivo大數(shù)據(jù)日志采集Agent設(shè)計實踐

    通常,日志采集服務(wù)可以分為幾個部分(業(yè)界常見的架構(gòu)如下圖所示):日志采集Agent組件(常見的開源采集Agent組件有Flume、Logst
    的頭像 發(fā)表于 11-29 15:39 ?910次閱讀

    Spring Boot的日志框架使用

    目前市面上常見的日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4j、log4j2、commons-logging(Spring默認
    的頭像 發(fā)表于 06-02 10:59 ?851次閱讀
    Spring Boot的<b class='flag-5'>日志</b>框架使用

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

    ;log_file.log' ) # 設(shè)置日志格式 formatter = logging. Formatter ( '%(asctime)s - %(module)s
    的頭像 發(fā)表于 10-07 11:50 ?1102次閱讀
    Python寫入到<b class='flag-5'>日志</b>文件完整代碼

    kernel日志寫入logd介紹

    kernel獲取kernel日志,依賴于如下屬性值,具體查看源碼xxx/system/logging/logd/main.cpp中有體現(xiàn)。 2.3.3 詳細總結(jié)流程 2.3.3.1 logd的日志流程
    的頭像 發(fā)表于 11-23 17:11 ?485次閱讀
    kernel<b class='flag-5'>日志</b>寫入logd介紹