精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringCloud Alibaba微服務(wù)實(shí)戰(zhàn)之業(yè)務(wù)日志組件

開發(fā) 架構(gòu)
要實(shí)現(xiàn)上述的功能我們需要借助SringBoot Starter來實(shí)現(xiàn),SpringBoot 的一大優(yōu)勢(shì)就是Starter,通過Starter我們可以封裝公共的業(yè)務(wù)邏輯以及參數(shù)的初始化,如果你在進(jìn)行微服務(wù)開發(fā),Starter的編寫是一定要掌握的。

 [[399437]]

本文轉(zhuǎn)載自微信公眾號(hào)「JAVA日知錄」,作者單一色調(diào)。轉(zhuǎn)載本文請(qǐng)聯(lián)系JAVA日知錄公眾號(hào)。

概述

在單體項(xiàng)目中如果我們需要記錄操作日志一般會(huì)通過如下手段實(shí)現(xiàn):

  • 建立一個(gè)自定義注解,標(biāo)注業(yè)務(wù)操作類型
  • 通過AOP組裝日志實(shí)體,完成日志的收集工作

具體實(shí)現(xiàn)可以參考如下的文章鏈接:

http://javadaily.cn/articles/2020/05/13/1589330750429.html

但是在微服務(wù)架構(gòu)中我們不可能每個(gè)服務(wù)都寫一個(gè)自定義注解,再寫一個(gè)AOP,這很明顯違反了 Don’t repeat yourself 精神。所以這時(shí)候我們一般都會(huì)建立一個(gè)公共的組件,在公共組件中完成日志的收集,后端服務(wù)只需要引入這個(gè)公共的組件即可。

這就是今天文章的內(nèi)容,獨(dú)立的業(yè)務(wù)日志收集組件。

SpringBoot Starter

要實(shí)現(xiàn)上述的功能我們需要借助SringBoot Starter來實(shí)現(xiàn),SpringBoot 的一大優(yōu)勢(shì)就是Starter,通過Starter我們可以封裝公共的業(yè)務(wù)邏輯以及參數(shù)的初始化,如果你在進(jìn)行微服務(wù)開發(fā),Starter的編寫是一定要掌握的。

這里我們簡(jiǎn)單提一下SpringBoot Starter實(shí)現(xiàn)自動(dòng)化配置的流程

  • spring-boot啟動(dòng)的時(shí)候會(huì)找到starterjar包中的resources/META-INF/spring.factories文件,根據(jù)spring.factories文件中的配置,找到需要自動(dòng)配置的類,xxxAutoConfigure
  • 通過xxxAutoConfigure上的注解@EnableConfigurationProperties將當(dāng)前模塊的屬性綁定到「Environment」 上(若有)。
  • 通過xxxAutoConfigure中定義的bean自動(dòng)裝配到IOC容器中。

實(shí)戰(zhàn)

過程如下:

首先我們?cè)陧?xiàng)目中建立一個(gè)starter的module,如cloud-component-logging-starter

編寫配置類SysLogAutoConfigure

  1. @Configuration 
  2. public class SysLogAutoConfigure { 
  3.  
  4.     @Bean 
  5.     public SysLogAspect controllerLogAspect(){ 
  6.         return new SysLogAspect(); 
  7.     } 
  8.  

在SysLogAutoConfigure中我們注入了一個(gè)日志切面SysLogAspect,由于日志收集工具不需要額外配置屬性,所以我們也就不需要定義屬性配置類了。

自定義日志注解 SysLog

  1. @Target(ElementType.METHOD) 
  2. @Retention(RetentionPolicy.RUNTIME) 
  3. @Documented 
  4. public @interface SysLog { 
  5.  /** 
  6.   * 日志內(nèi)容 
  7.   * @return {String} 
  8.   */ 
  9.  String value(); 

定義日志切面 SysLogAspect

  1. @Aspect 
  2. public class SysLogAspect { 
  3.  
  4.     private final Logger log = LoggerFactory.getLogger(this.getClass()); 
  5.  
  6.     @Pointcut("@annotation(com.javadaily.component.logging.annotation.SysLog)"
  7.     public void logPointCut() { 
  8.  
  9.     } 
  10.  
  11.     @Around("logPointCut()"
  12.     public Object around(ProceedingJoinPoint pjp) throws Throwable { 
  13.         MethodSignature signature = (MethodSignature) pjp.getSignature(); 
  14.         Method method = signature.getMethod(); 
  15.        //類名 
  16.         String className = pjp.getTarget().getClass().getName(); 
  17.         //方法名 
  18.         String methodName = signature.getName(); 
  19.      
  20.         SysLog syslog = method.getAnnotation(SysLog.class); 
  21.         //操作 
  22.         String operator =syslog.value(); 
  23.  
  24.         long beginTime = System.currentTimeMillis(); 
  25.  
  26.         Object returnValue = null
  27.         Exception ex = null
  28.         try { 
  29.             returnValue = pjp.proceed(); 
  30.             return returnValue; 
  31.         } catch (Exception e) { 
  32.             ex = e; 
  33.             throw e; 
  34.         } finally { 
  35.             long cost = System.currentTimeMillis() - beginTime; 
  36.             if (ex != null) { 
  37.                 log.error("[class: {}][method: {}][operator: {}][cost: {}ms][args: {}][發(fā)生異常]"
  38.                         className, methodName, operator, pjp.getArgs(), ex); 
  39.             } else { 
  40.                 log.info("[class: {}][method: {}][operator: {}][cost: {}ms][args: {}][return: {}]"
  41.                         className, methodName, operator, cost, pjp.getArgs(), returnValue); 
  42.             } 
  43.         } 
  44.  
  45.     } 

上面的切面表示,對(duì)于使用了@SysLog注解的方法自動(dòng)進(jìn)行日志收集,將日志輸入到日志文件。

在resource/META-INF目錄下建立spring.factories文件,加載配置類SysLogAutoConfigure

  1. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 
  2. com.javadaily.component.logging.configure.SysLogAutoConfigure 

在微服務(wù)中引入日志組件

  1. <dependency> 
  2.     <groupId>com.jianzh5.cloud</groupId> 
  3.     <artifactId>cloud-component-logging-starter</artifactId> 
  4.     <version>1.0.0</version> 
  5. </dependency> 

在需要進(jìn)行日志收集的方法上添加@SysLog注解

  1. @SysLog("查找用戶"
  2. public ResultData<AccountDTO> getByCode(@PathVariable(value = "accountCode") String accountCode){ 
  3.     log.warn("get account detail,accountCode is :{}",accountCode); 
  4.  
  5.     SecurityUser securityUser = SecurityUtils.getUser(); 
  6.     log.info(securityUser); 
  7.  
  8.     AccountDTO accountDTO = accountService.selectByCode(accountCode); 
  9.     return ResultData.success(accountDTO); 

小結(jié)

通過上面7步我們完成了日志收集組件的自定義Starter編寫,這里可能有的同學(xué)會(huì)問,在 SysLogAutoConfigure類中不是有了 @Configuration和 @Bean注解,這兩個(gè)注解不是可以自動(dòng)加載定義的Bean到IOC容器嗎?為什么還需要通過在spring.factories文件中導(dǎo)入 SysLogAutoConfigure呢?

這是因?yàn)閟pringboot項(xiàng)目默認(rèn)只會(huì)掃描本項(xiàng)目下的帶@Configuration注解的類,如果自定義starter,不在本工程中,是無法加載的,所以要配置META-INF/spring.factories配置文件,通過spring.factories來裝載配置類。

 

責(zé)任編輯:武曉燕 來源: JAVA日知錄
相關(guān)推薦

2021-03-09 09:33:42

網(wǎng)關(guān)授權(quán)微服務(wù)

2021-08-02 09:27:02

微服務(wù)接口場(chǎng)景

2021-01-28 10:10:51

微服務(wù)后端SpringCloud

2021-04-22 09:31:58

服務(wù)器微服務(wù)配置

2021-06-09 09:42:50

SpringCloud微服務(wù)灰度發(fā)布

2022-04-09 14:45:02

微服務(wù)常見概念Spring

2021-03-26 06:01:45

日志MongoDB存儲(chǔ)

2025-03-13 00:55:00

微服務(wù)架構(gòu)系統(tǒng)

2025-03-07 08:57:46

HTTP客戶端框架

2023-12-29 18:53:58

微服務(wù)Saga模式

2016-08-25 21:12:31

微服務(wù)架構(gòu)發(fā)布

2016-08-25 20:55:19

微服務(wù)架構(gòu)發(fā)布

2022-04-27 08:23:34

微服務(wù)負(fù)載均衡

2021-02-04 09:18:20

服務(wù)器認(rèn)證自定義

2021-01-25 15:00:44

微服務(wù)分布式日志

2023-02-07 07:43:27

微服務(wù)應(yīng)用框架

2017-09-05 14:05:11

微服務(wù)spring clou路由

2024-06-04 10:05:48

微服務(wù)網(wǎng)關(guān)日志

2025-04-17 02:00:00

2021-05-31 11:22:24

微服務(wù)開發(fā)框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品一区二区x88av| 欧美一区二区三| 国产精品午夜在线观看| 1769国内精品视频在线播放| 国产一级黄色录像| 欧美大片1688| 国产精品久久久久久久岛一牛影视| 国产综合色香蕉精品| 在线视频这里只有精品| 日韩成人在线看| 精品国产乱码久久久久久婷婷| 蜜桃91精品入口| 99久久精品日本一区二区免费| 亚洲最黄网站| 久久国产加勒比精品无码| 美女又爽又黄视频毛茸茸| 色综合视频一区二区三区44| 精品久久久久久久久久久| 亚洲综合欧美日韩| 天堂v视频永久在线播放| 久久99国产精品尤物| 2021久久精品国产99国产精品| 欧美h片在线观看| 亚洲精品进入| 精品国产91乱码一区二区三区| 成人综合久久网| 丝袜美腿诱惑一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲在线不卡| 国产三级视频在线看| 99久久久无码国产精品| 99免费在线观看视频| 一本色道久久综合亚洲| 视频在线在亚洲| 欧美一二三视频| 久久久.www| 亚洲老妇激情| 日韩中文字幕在线视频| 永久免费毛片在线观看| 全国精品免费看| 亚洲国产三级网| 亚洲国产精品第一页| 日韩成人在线看| 日韩一卡二卡三卡| 亚洲黄色片免费| 色8久久久久| 欧美老女人在线| 亚洲免费av一区| 国产精品久久久久久妇女| 欧美在线视频日韩| 妺妺窝人体色www在线观看| 男女羞羞在线观看| 天天av天天翘天天综合网色鬼国产 | 69视频免费在线观看| 亚洲黄色成人| 91精品国产色综合久久不卡98口| 国产无遮挡裸体免费视频| 亚洲激情专区| 91精品国产一区| 国产精品21p| 日日夜夜免费精品| 国产精品美女免费| 亚洲综合精品在线| 精品一区二区三区久久久| 国产欧美日韩中文字幕| 国产精品一区二区人人爽| 狠狠久久亚洲欧美| 亚洲一区亚洲二区| 亚洲精品国产精品乱码不卡| 成人一道本在线| 精品久久久久久一区| 五月激情丁香婷婷| 国产欧美一区二区精品久导航| 日韩精品资源| 欧美成人视屏| 亚洲一区二区在线免费观看视频| av日韩一区二区三区| 性孕妇free特大另类| 欧美在线观看禁18| 超碰中文字幕在线观看| av在线亚洲色图| 精品一区二区三区电影| 日本美女黄色一级片| 午夜欧美视频| 欧美在线视频免费播放| 中文字幕在线播放日韩| 国产二区国产一区在线观看| 99理论电影网| 国产在线播放av| 亚洲免费在线视频一区 二区| 日本中文字幕在线视频观看| 日韩激情电影| 91精品欧美综合在线观看最新| 性一交一黄一片| 九九在线精品| 欧美日韩成人在线观看| 91porny在线| 国内不卡的二区三区中文字幕| 国产乱码精品一区二区三区不卡| 国产免费永久在线观看| 亚洲最新视频在线观看| 大香煮伊手机一区| 国产欧美日韩电影| 亚洲男人7777| 久久久精品国产sm调教网站| 免费观看日韩电影| 精品蜜桃传媒| 快射视频在线观看| 91成人在线观看喷潮| 91av免费观看| 99久久综合| 欧美一区亚洲一区| 亚洲第一黄色片| 中文字幕成人在线观看| 免费av观看网址| 欧美精品三级在线| 在线电影中文日韩| 1级黄色大片儿| 国产成人综合精品三级| 亚洲欧美日韩精品久久久| bbw在线视频| 欧美一区二区性放荡片| 免费看污片的网站| 国产视频欧美| 国产综合av一区二区三区| 黄av在线免费观看| 在线视频你懂得一区二区三区| 视频免费在线观看| 欧美日韩国产欧| 成人字幕网zmw| 1pondo在线播放免费| 日本精品视频一区二区三区| 亚洲综合自拍网| 亚洲国产日韩欧美一区二区三区| 成人免费视频a| 91精品专区| 欧美中文字幕一二三区视频| av直播在线观看| 一区二区三区国产在线| 国产精品视频免费观看| 日本在线视频中文有码| 91精品在线观看入口| 秋霞欧美一区二区三区视频免费| 日韩精品久久久久久| 欧美xxxx黑人又粗又长密月| 麻豆国产在线| 国产视频综合在线| 欧美bbbbbbbbbbbb精品| 9人人澡人人爽人人精品| 青青草成人免费在线视频| h视频久久久| 久久全国免费视频| 色窝窝无码一区二区三区| 亚洲午夜久久久久久久久久久 | 白白色亚洲国产精品| av日韩一区二区三区| 麻豆一区二区| 青青久久av北条麻妃海外网| 男人久久精品| 欧美亚洲国产一卡| 懂色av蜜臀av粉嫩av永久| 久久99日本精品| 男女激烈动态图| 伊人久久噜噜噜躁狠狠躁| 性色av一区二区三区红粉影视| 天天插天天干天天操| 欧美日韩亚洲系列| 国产人妻大战黑人20p| 精品伊人久久久久7777人| 亚洲美女自拍偷拍| 亚洲五码在线| 2021国产精品视频| av播放在线| 日韩一区二区在线看| 日韩精品成人在线| 国产人妖乱国产精品人妖| 国产成人在线综合| 国产精品国码视频| 久久综合九色99| 欧美午夜三级| 欧美激情网站在线观看| 日本v片在线免费观看| 欧美自拍偷拍一区| 爱爱视频免费在线观看| 波多野结衣精品在线| 北条麻妃视频在线| 自拍视频亚洲| 欧美日韩精品免费观看视一区二区 | 日韩av二区| 99re国产视频| 亚洲成人av观看| 欧美黑人xxx| eeuss影院在线播放| 欧美变态口味重另类| 精品久久久久久久久久久久久久久久| 国产精品久久国产精麻豆99网站| 熟妇女人妻丰满少妇中文字幕| 国产日韩专区| 欧洲xxxxx| 精品72久久久久中文字幕| 91手机视频在线观看| 女生影院久久| 欧美另类交人妖| 国产福利电影在线| 亚洲а∨天堂久久精品9966| 国产精品成人久久久| 亚洲一级片在线观看| 91禁男男在线观看| 99re这里都是精品| 亚洲欧洲日韩综合| 免费成人美女在线观看| 久久国产精品视频在线观看| 99成人在线视频| 欧洲久久久久久| 国产精品欧美大片| 91系列在线观看| 亚洲mmav| 欧美一级视频一区二区| 欧美人体视频xxxxx| 三级精品视频久久久久| 你懂的视频在线| 欧美成人精精品一区二区频| 这里只有精品6| 日本道精品一区二区三区| 日韩xxxxxxxxx| 一区二区在线电影| 日本午夜在线观看| 国产日韩欧美精品综合| 久久久久国产精品区片区无码| 国产成人啪免费观看软件 | 欧美91在线|欧美| 青青精品视频播放| 国内激情视频在线观看| 久久久久久久久久久免费| av网址在线播放| 日韩色av导航| 欧美三级电影一区二区三区| 亚洲一级黄色片| 精品av中文字幕在线毛片| 亚洲第一网中文字幕| 动漫av一区二区三区| 欧美一级片在线观看| 国产精品爽爽久久久久久| 欧美体内she精视频| 中文字幕一级片| 欧美日韩一区在线观看| 中文字幕av资源| 欧美亚日韩国产aⅴ精品中极品| 日韩精品成人免费观看视频| 色综合久久久网| 久久久黄色大片| 日韩欧美一区二区三区久久| 国产精品999在线观看| 色综合久久综合网| 免费观看日批视频| 欧美系列一区二区| 这里只有精品9| 欧美日韩成人在线| 精品国产一级片| 欧美大片日本大片免费观看| 亚洲精品一区二区三区四区| 欧美不卡一区二区| 无码国精品一区二区免费蜜桃| 日韩不卡在线观看| 黄色视屏网站在线免费观看| 伊人一区二区三区久久精品 | 久久久久国产视频| 成人av影院在线观看| 欧美亚洲日本黄色| 久草综合在线| 亚洲a∨日韩av高清在线观看| 亚洲精品一区在线| 久久精品午夜一区二区福利| 九九久久电影| 综合久久国产| 在线播放一区| 日韩在线第三页| 国产一区亚洲一区| 日本精品一二三区| 久久综合色8888| youjizz亚洲女人| 亚洲在线成人精品| 一级黄色av片| 91精品国产色综合久久久蜜香臀| 色呦呦中文字幕| 亚洲天堂av在线播放| 麻豆传媒视频在线观看| 午夜伦理精品一区| 日韩欧美三区| 成人区精品一区二区| 蜜桃国内精品久久久久软件9| 在线视频一区观看| 99综合在线| 天堂av8在线| 久久中文字幕电影| 福利所第一导航| 欧洲一区在线电影| 丰满人妻妇伦又伦精品国产| 亚洲人成在线观| 欧美人动性xxxxz0oz| 国产成人精品在线观看| 给我免费播放日韩视频| 一区精品视频| 久久精品毛片| 亚洲天堂av网站| 中文字幕佐山爱一区二区免费| 一级免费在线观看| 欧美一级理论片| 国产高清视频免费最新在线| 97精品一区二区视频在线观看| 日韩欧国产精品一区综合无码| 蜜桃av噜噜一区二区三| 国产精品大片| 超碰在线免费av| 国产色综合一区| 国产成人免费观看视频| 欧美一区二区在线不卡| 国产高清视频在线播放| 热久久免费国产视频| www.爱久久| 特级西西444| 九九精品视频在线看| b站大片免费直播| 亚洲人成精品久久久久| 欧美视频xxxx| 亚洲图片在区色| 三级成人黄色影院| 精品免费二区三区三区高中清不卡 | 国产一区999| 国产一二三四视频| 欧美性淫爽ww久久久久无| 久热av在线| 国产成人久久精品| 亚洲精品推荐| 九色在线视频观看| hitomi一区二区三区精品| 国产成人精品av久久| 日韩视频一区二区三区| sm国产在线调教视频| 91久久精品国产91性色| 欧美激情欧美| 99re精彩视频| 最新日韩在线视频| 国产免费黄色片| 伦理中文字幕亚洲| 粉嫩一区二区三区在线观看| 亚洲最新在线| 激情久久五月天| 日本妇女毛茸茸| 日韩久久免费av| 国语对白在线刺激| 国产九色91| 久久福利毛片| 日韩影视一区二区三区| 欧美精品日韩一本| 在线午夜影院| 国产精品v欧美精品v日韩精品| 欧美日韩专区| 扒开伸进免费视频| 欧美日韩裸体免费视频| 日本精品专区| 国产精品永久免费在线| 91一区二区| 国产精品嫩草69影院| 五月综合激情网| 黄色av网站在线看| 成人国产在线视频| 欧美日韩影院| 偷拍女澡堂一区二区三区| 在线观看一区不卡| 国产美女在线观看| 国产一区二区无遮挡| 老司机精品视频网站| 日本中文在线视频| 亚洲国产小视频| jizz亚洲女人高潮大叫| www.黄色网址.com| 91老司机福利 在线| 姑娘第5集在线观看免费好剧| 久久伊人精品天天| 久久人人爽人人爽人人片av不| 黄色三级视频片| 亚洲精品国产精华液| 婷婷色在线观看| 国产精品自拍偷拍视频| 国户精品久久久久久久久久久不卡| 国产艳俗歌舞表演hd| 欧美色窝79yyyycom| 国产天堂在线播放视频| 午夜精品区一区二区三| 国产精品一区专区| 亚洲国产成人精品女人久久| 蜜臀久久99精品久久久久久宅男| 日韩人体视频| 在线播放av中文字幕| 欧美性色视频在线| 伊人电影在线观看| 日韩欧美精品一区二区三区经典| 国产99久久久精品| 中文字幕理论片|