国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于MDC的日志聚合方法和系統(tǒng)、電子設(shè)備、存儲介質(zhì)與流程

      文檔序號:40386166發(fā)布日期:2024-12-20 12:09閱讀:4來源:國知局
      基于MDC的日志聚合方法和系統(tǒng)、電子設(shè)備、存儲介質(zhì)與流程

      本發(fā)明屬于數(shù)據(jù)處理,更具體的說,尤其涉及一種基于mdc的日志聚合方法和系統(tǒng)、電子設(shè)備、存儲介質(zhì)。


      背景技術(shù):

      1、在現(xiàn)代軟件開發(fā)中,日志記錄是一個不可或缺的組成部分,它幫助開發(fā)人員監(jiān)控應(yīng)用的狀態(tài),診斷問題并優(yōu)化性能。目前,許多系統(tǒng)采用了log4j組件作為其日志記錄解決方案。log4j是一個廣泛使用的java日志記錄工具,它提供了靈活的配置選項(xiàng)和強(qiáng)大的日志管理功能。

      2、log4j組件通過在后臺服務(wù)中集成,允許開發(fā)者按照不同的級別(如debug、info、warn、error等)記錄日志信息。這種集成方式使得日志的生成和維護(hù)變得相對簡單。然而,盡管log4j提供了基本的日志功能,它在多線程和微服務(wù)架構(gòu)中的日志管理方面存在一些局限性。

      3、但是,在處理多線程多服務(wù)環(huán)境中的日志聚合時存在挑戰(zhàn),這導(dǎo)致無法有效地收集和分析來自不同線程的日志數(shù)據(jù),也即無法將進(jìn)行日志聚合。


      技術(shù)實(shí)現(xiàn)思路

      1、有鑒于此,本發(fā)明的目的在于提供一種基于mdc的日志聚合方法和系統(tǒng)、電子設(shè)備、存儲介質(zhì),用于實(shí)現(xiàn)線程內(nèi)部日志追蹤、跨線程日志聚合、跨服務(wù)日志聚合;使得運(yùn)維更加便捷,定位問題更加方便。

      2、本技術(shù)第一方面公開了一種基于mdc的日志聚合方法,包括:

      3、獲取用戶操作請求;所述用戶操作請求用于指示用戶對系統(tǒng)進(jìn)行操作的請求;

      4、依據(jù)所述用戶操作請求所涉及到的操作對象類型,基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合;所述操作對象類型為單線程操作、跨線程操作和跨服務(wù)操作中的至少一種;日志追蹤包括:線程內(nèi)部日志追蹤、跨線程日志追蹤和跨服務(wù)日志追蹤中的至少一種。

      5、可選的,在所述操作對象類型包括單線程操作時,所述日志追蹤包括:線程內(nèi)部日志追蹤;

      6、在所述操作對象類型包括跨線程操作時,所述日志追蹤包括:跨線程日志追蹤;

      7、在所述操作對象類型包括跨服務(wù)操作時,所述日志追蹤包括:跨服務(wù)日志追蹤。

      8、可選的,所述日志追蹤為線程內(nèi)部日志追蹤時,所述基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合,包括:

      9、通過aop攔截所述用戶操作請求對應(yīng)的服務(wù)請求;

      10、創(chuàng)建所述服務(wù)請求對應(yīng)的標(biāo)識;所述標(biāo)識用于指示所述服務(wù)請求唯一的標(biāo)識符;不同的服務(wù)請求,對應(yīng)的標(biāo)識不同;

      11、將所述標(biāo)識保存到mdc的聚合字段,以使當(dāng)前線程中所有方法均能訪問所述聚合字段,并在各個方法寫日志時,日志框架自動打印所述聚合字段,將當(dāng)前服務(wù)對所述用戶操作請求寫的所有日志聚合。

      12、可選的,所述標(biāo)識為隨機(jī)數(shù);不同的服務(wù)請求對應(yīng)的隨機(jī)數(shù)不同。

      13、可選的,所述日志追蹤為跨線程日志追蹤時,所述基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合,包括:

      14、主線程按照線程內(nèi)部日志追蹤,創(chuàng)建mdc的聚合字段;

      15、在所述主線程創(chuàng)建子線程時,將所述主線程中mdc的聚合字段的數(shù)據(jù),拷貝至所述子線程的mdc的聚合字段,以使子線程中所有方法均能訪問所述子線程的聚合字段,并在各個方法寫日志時,日志框架自動打印所述聚合字段,將所述主線程和所述子線程對所述用戶操作請求寫的所有日志進(jìn)行聚合。

      16、可選的,所述日志追蹤為跨服務(wù)日志追蹤時,所述基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合,包括:

      17、用戶訪問第一服務(wù)時,第一服務(wù)按照線程內(nèi)部日志追蹤,生成聚合字段;

      18、在所述第一服務(wù)訪問第二服務(wù)時,從第一服務(wù)的mdc中獲取聚合字段的數(shù)據(jù),并將所述聚合字段的數(shù)據(jù)設(shè)置到http請求的請求頭中,并發(fā)出http請求;

      19、在第二服務(wù)接收到來自所述第一服務(wù)的http請求之后,第二服務(wù)解析所述http請求,得到第一服務(wù)的聚合字段的數(shù)據(jù),并將所述聚合字段的數(shù)據(jù)保存到所述第二服務(wù)的mdc的聚合字段中,以使所述第一服務(wù)和第二服務(wù)中所有方法均能訪問各自對應(yīng)的聚合字段,且聚合字段的數(shù)據(jù)相同,日志框架自動打印所述聚合字段,將所述第一服務(wù)和所述第二服務(wù)對所述用戶操作請求寫的所有日志進(jìn)行聚合。

      20、本技術(shù)第二方面公開了一種基于mdc的日志聚合系統(tǒng),包括:

      21、獲取模塊,用于獲取用戶操作請求;所述用戶操作請求用于指示用戶對系統(tǒng)進(jìn)行操作的請求;

      22、追蹤模塊,用于依據(jù)所述用戶操作請求所涉及到的操作對象類型,基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合;所述操作對象類型為單線程操作、跨線程操作和跨服務(wù)操作中的至少一種;日志追蹤包括:線程內(nèi)部日志追蹤、跨線程日志追蹤和跨服務(wù)日志追蹤中的至少一種。

      23、可選的,追蹤模塊用于依據(jù)所述用戶操作請求所涉及到的操作對象類型,基于mdc對所述用戶操作請求所涉及的日志進(jìn)行追蹤聚合時,具體用于:

      24、所述日志追蹤為線程內(nèi)部日志追蹤時:通過aop攔截所述用戶操作請求對應(yīng)的服務(wù)請求;創(chuàng)建所述服務(wù)請求對應(yīng)的標(biāo)識;所述標(biāo)識用于指示一個服務(wù)請求;不同的服務(wù)請求,對應(yīng)的標(biāo)識不同;將所述標(biāo)識保存到mdc的聚合字段,以使當(dāng)前線程中所有方法均能訪問所述聚合字段,并在各個方法寫日志時,日志框架自動打印所述聚合字段,將當(dāng)前服務(wù)對所述用戶操作請求寫的所有日志聚合;

      25、所述日志追蹤為跨線程日志追蹤時:主線程按照線程內(nèi)部日志追蹤,創(chuàng)建mdc的聚合字段;在所述主線程創(chuàng)建子線程時,將所述主線程中mdc的聚合字段的數(shù)據(jù),拷貝至所述子線程的mdc的聚合字段,以使子線程中所有方法均能訪問所述子線程的聚合字段,并在各個方法寫日志時,日志框架自動打印所述聚合字段,將所述主線程和所述子線程對所述用戶操作請求寫的所有日志進(jìn)行聚合;

      26、所述日志追蹤為跨服務(wù)日志追蹤時:用戶訪問第一服務(wù)時,第一服務(wù)按照線程內(nèi)部日志追蹤,生成聚合字段;在所述第一服務(wù)訪問第二服務(wù)時,從第一服務(wù)的mdc中獲取聚合字段的數(shù)據(jù),并將所述聚合字段的數(shù)據(jù)設(shè)置到http請求的請求頭中,并發(fā)出http請求;在第二服務(wù)接收到來自所述第一服務(wù)的http請求之后,第二服務(wù)解析所述http請求,得到第一服務(wù)的聚合字段的數(shù)據(jù),并將所述聚合字段的數(shù)據(jù)保存到所述第二服務(wù)的mdc的聚合字段中,以使所述第一服務(wù)和第二服務(wù)中所有方法均能訪問各自對應(yīng)的聚合字段,且聚合字段的數(shù)據(jù)相同,日志框架自動打印所述聚合字段,將所述第一服務(wù)和所述第二服務(wù)對所述用戶操作請求寫的所有日志進(jìn)行聚合。

      27、本技術(shù)第三方面公開了一種電子設(shè)備,包括:

      28、一個或多個處理器;

      29、存儲裝置,其上存儲有一個或多個程序;

      30、當(dāng)一個或多個程序被一個或多個處理器執(zhí)行時,使得一個或多個處理器實(shí)現(xiàn)如本技術(shù)第一方面中任一項(xiàng)所述的基于mdc的日志聚合方法。

      31、本技術(shù)第四方面公開了一種存儲介質(zhì),其上存儲有計算機(jī)程序,其中,計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如本技術(shù)第一方面中任一項(xiàng)所述的基于mdc的日志聚合方法。

      32、從上述技術(shù)方案可知,本發(fā)明提供的一種基于mdc的日志聚合方法,包括:獲取用戶操作請求;用戶操作請求用于指示用戶對系統(tǒng)進(jìn)行操作的請求;依據(jù)用戶操作請求所涉及到的操作對象類型,基于mdc對用戶操作請求所涉及的日志進(jìn)行追蹤聚合;操作對象類型為單線程操作、跨線程操作和跨服務(wù)操作中的至少一種;日志追蹤包括:線程內(nèi)部日志追蹤、跨線程日志追蹤和跨服務(wù)日志追蹤中的至少一種;也即本技術(shù)可以實(shí)現(xiàn)線程內(nèi)部日志追蹤、跨線程日志聚合、跨服務(wù)日志聚合;使得運(yùn)維更加便捷,定位問題更加方便。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1