精品欧美一区二区三区在线观看 _久久久久国色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)

日本成人中文字幕| 免费看久久久| 亚洲品质自拍视频| 国产精品福利视频| 国产精品免费精品一区| 日韩欧美精品| 精品国产成人在线影院 | 午夜在线精品| 日韩中文字幕精品| 2一3sex性hd| 成人一区视频| 五月激情综合婷婷| 潘金莲一级淫片aaaaa免费看| 亚洲精品字幕在线观看| 日本中文字幕不卡| 久久久久久亚洲精品| 女人黄色一级片| 久久资源综合| 欧美一区日本一区韩国一区| jizzjizzxxxx| www免费在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 最新中文字幕在线观看视频| 欧美日本精品| 播播国产欧美激情| 手机免费看av| 国产精品自在线拍| 日韩一区二区三区视频在线| 99视频精品免费| 久草在线资源站手机版| 亚洲欧美另类小说视频| 日本高清不卡三区| 污视频网站在线播放| 国产一区二区毛片| 国产日韩中文字幕在线| 永久免费无码av网站在线观看| 亚洲精品一二三区区别| 在线观看欧美成人| 自拍偷拍中文字幕| 台湾亚洲精品一区二区tv| 精品欧美乱码久久久久久1区2区| 性刺激的欧美三级视频| 成人性教育av免费网址| 香蕉影视欧美成人| 欧美狂野激情性xxxx在线观| 超鹏97在线| 亚洲手机成人高清视频| 亚洲综合网中心| avtt在线播放| 国产精品区一区二区三区| 日韩理论片在线观看| 免费在线观看污视频| 99精品黄色片免费大全| 国内外成人免费视频| 黄色小视频免费观看| 丁香天五香天堂综合| 成人区精品一区二区| 亚洲av无码乱码国产精品久久| 国产真实乱对白精彩久久| 成人xxxxx| 99久久久国产精品无码网爆| 国产一区二区视频在线播放| 97免费高清电视剧观看| 亚洲精品久久久久久无码色欲四季| 国产乱码精品一区二区三 | 中文字幕在线观看第三页| 裤袜国产欧美精品一区| 欧美视频自拍偷拍| 日本人69视频| 日韩成人精品| 日韩女优av电影| 欧美夫妇交换xxx| 国内精品视频| 欧美久久婷婷综合色| 五月天婷婷影视| 中文字幕一区图| 亚洲激情第一页| 一级片手机在线观看| 精品国产欧美日韩| 久久精品国产v日韩v亚洲| 国产亚洲精品码| 久久精品123| 国产区精品视频| 成人av手机在线| 久久综合狠狠综合| 国产真实久久| 网站黄在线观看| 亚洲一二三四视频| 精品久久久久久久久久中文字幕| 国产va免费精品高清在线观看| 欧美日韩中字一区| 国产清纯在线一区二区www| 亚洲理论电影网| 欧美绝品在线观看成人午夜影视| www.国产视频.com| 日韩激情综合| 精品亚洲精品福利线在观看| 国产三级黄色片| 午夜精品免费| 国产精品久久久久影院日本| 国产suv一区二区| 91麻豆swag| 中文字幕乱码一区二区三区| av成人影院在线| 欧美亚洲国产一区在线观看网站| 91大神免费观看| 亚洲人成网站77777在线观看| 日韩中文字幕国产精品| 99免费在线观看| 久久国产欧美日韩精品| 国产尤物91| 精品视频在线一区二区| 色综合欧美在线| 色偷偷中文字幕| 成人在线电影在线观看视频| 国自在线精品视频| 一级特黄aaa大片| 久久伊人蜜桃av一区二区| 中国老女人av| 成人涩涩视频| 亚洲美女性视频| 精品少妇久久久| 久久99在线观看| 欧美日韩国产精品一区二区| 6699嫩草久久久精品影院| 欧美日本国产视频| 好吊视频在线观看| 99国产精品私拍| 国产不卡一区二区三区在线观看| 欧美成人二区| 欧美性猛交xxxx黑人交| 蜜臀av一区二区三区有限公司| 欧美成人高清| 91免费视频网站| melody高清在线观看| 日韩欧美亚洲国产一区| 人妻无码中文久久久久专区| 欧美区一区二| 日韩精品一二三四区| 高潮白浆女日韩av免费看| 久久精品成人欧美大片| 天天综合天天干| 成人精品一区二区三区四区| 欧美性受黑人性爽| 日本电影久久久| 色老头一区二区三区| 亚洲精品国产欧美在线观看| 久久网站最新地址| 99热成人精品热久久66| 亚洲人成伊人成综合图片| 欧美一级高清免费| 亚洲欧美日韩免费| 欧美日韩在线视频一区| 水蜜桃av无码| 香蕉久久国产| 青娱乐一区二区| 日韩欧美一区二区三区在线观看 | 亚洲综合av在线播放| 日本一区二区免费高清| 国产精品一区二区三区免费视频| 97在线观看免费观看高清| 欧美日韩在线播放三区四区| 国产成人在线网址| 国产一区二区中文字幕| 国产在线xxxx| 国产suv精品一区| 51精品在线观看| 可以在线观看的黄色| 在线观看视频91| 国精产品视频一二二区| 国产在线精品国自产拍免费| 男人草女人视频| 加勒比中文字幕精品| 国产成人一区二区三区| 精品国产白色丝袜高跟鞋| 欧美一二三四在线| 免费在线观看黄网站| 国产亚洲自拍一区| 一级片免费在线观看视频| 激情综合激情| 日韩黄色影视| 亚洲国产欧美国产第一区| 亚州国产精品久久久| 国产免费av高清在线| 91精品国产免费| 影音先锋亚洲天堂| 国产精品色一区二区三区| 人妻互换一二三区激情视频| 久久xxxx精品视频| 中文字幕日韩精品久久| 欧美a一欧美| 国产精品综合久久久| 搞黄网站在线看| 伊人久久男人天堂| 免费a视频在线观看| 欧美视频一区二区三区在线观看 | 91久久精品www人人做人人爽| 国产黄大片在线观看| 精品国偷自产在线视频99| 日本黄色三级视频| 欧美精品123区| 99久在线精品99re8热| 国产精品久久久久aaaa| 97香蕉碰碰人妻国产欧美| 激情久久五月天| 日韩视频第二页| 午夜电影亚洲| 亚洲高清视频一区二区| 日韩aaa久久蜜桃av| 成人午夜黄色影院| 日韩成人av电影| 欧美精品videosex极品1| 高清中文字幕一区二区三区| 精品少妇一区二区三区免费观看| 在线观看亚洲一区二区| 欧美日韩在线影院| 国产精彩视频在线| 亚洲欧洲一区二区三区| 在线不卡av电影| 97精品电影院| 国产吃瓜黑料一区二区| 国产一区美女在线| 中文字幕av专区| 麻豆久久婷婷| 337p粉嫩大胆噜噜噜鲁| 在线看片欧美| 激情六月天婷婷| 先锋资源久久| 亚洲精品一卡二卡三卡四卡| 国产精品片aa在线观看| 精品婷婷色一区二区三区蜜桃| 日韩免费一级| 91亚洲一区精品| 国产精品99久久免费| 国产免费亚洲高清| xxxxx.日韩| 国产精品一区二区久久| 99久久er| 国产精品视频大全| 精品网站在线| 国产精品免费在线免费| 日本在线中文字幕一区二区三区| 日韩av毛片网| 欧美国产大片| 国产精品av电影| 久久久人成影片一区二区三区在哪下载 | 极品久久久久久| 综合激情成人伊人| 天天天天天天天天操| 亚洲黄色av一区| 免费一级全黄少妇性色生活片| 亚洲激情自拍偷拍| 国产大片免费看| 亚洲一区在线看| 久久高清免费视频| 欧美日韩精品在线| 久久国产乱子伦精品| 欧美三级一区二区| 国产精品一品二区三区的使用体验| 69堂亚洲精品首页| www.黄色av| 亚洲精品成人免费| 欧美日韩影视| 中文字幕亚洲一区在线观看| 国产淫片在线观看| 欧美理论片在线观看| 日韩精品分区| 欧美一级在线亚洲天堂| 台湾佬中文娱乐久久久| 国产精品在线看| 99re6热只有精品免费观看| 国产一区二区三区高清| 国产精品密蕾丝视频下载| 亚洲欧洲日夜超级视频| 亚洲女同中文字幕| 国产成a人亚洲精v品在线观看| 在线看片一区| 精品国产成人av在线免| 久久精品国产精品亚洲红杏| 超碰人人cao| 99国内精品久久| 五月天婷婷丁香网| 亚洲国产视频一区| 337p粉嫩色噜噜噜大肥臀| 在线成人av网站| 深夜福利在线观看直播| 在线激情影院一区| 牛牛在线精品视频| 国产成人精品日本亚洲| 另类视频一区二区三区| 欧美日韩一区二| 综合亚洲视频| 大肉大捧一进一出好爽动态图| 国产最新精品免费| 久久亚洲AV成人无码国产野外| 中文字幕在线不卡国产视频| 日本少妇裸体做爰| 制服.丝袜.亚洲.另类.中文| 午夜性色福利视频| 麻豆国产精品va在线观看不卡| 女厕盗摄一区二区三区| 亚洲一区二区三区久久 | 在线日韩中文字幕| 国产91足控脚交在线观看| 国产精品午夜视频| 全国精品免费看| 一本二本三本亚洲码| 日韩综合一区二区| 国产香蕉精品视频| 国产精品高潮呻吟| 色av性av丰满av| 精品奇米国产一区二区三区| 免费在线观看av| 日产精品久久久一区二区福利| 99re8这里有精品热视频免费| 一区二区三区四区在线视频| 日韩视频二区| 在线观看你懂的视频| **欧美大码日韩| 探花国产精品一区二区| 亚洲精品久久久久| 蜜乳av一区| 91九色单男在线观看| 日韩一区三区| 日本老熟妇毛茸茸| xf在线a精品一区二区视频网站| 日本三级视频在线| 日韩欧美成人一区| 国产乱色在线观看| 国产日韩亚洲欧美| 四季av一区二区三区免费观看| 日韩欧美视频网站| 99久久免费视频.com| 九九视频免费观看| 日韩精品中午字幕| 中中文字幕av在线| 亚洲free嫩bbb| 99久久婷婷这里只有精品 | 丰满少妇xoxoxo视频| 亚洲精品国产精品国自产观看浪潮 | 国产喷白浆一区二区三区| 狠狠人妻久久久久久综合| 国产丝袜精品视频| 亚洲欧美电影| 日本一区高清在线视频| 欧美男男gaygay1069| 久久久一区二区三区捆绑**| 日本xxx在线播放| 欧美日韩国产中字| 日本午夜在线视频| 日韩av不卡在线| 禁断一区二区三区在线| www日韩在线观看| 亚洲国产精品成人久久综合一区| 蜜臀尤物一区二区三区直播| 中文字幕亚洲欧美日韩高清| 欧美大陆国产| 五月天综合婷婷| 国产精品亚洲第一 | 一区二区三区在线免费视频 | 欧美少妇激情| 男女激烈动态图| 高清av一区二区| 国产原创视频在线| 在线电影中文日韩| 国产一区二区视频在线看 | 视频一区二区国产| 亚洲天堂最新地址| 6080yy午夜一二三区久久| 在线网址91| 久久99九九| 奇米精品一区二区三区在线观看一| 91免费在线看片| 欧美成人三级在线| 日韩电影大全网站| 亚洲精品一区二区三区四区五区| 国产美女精品人人做人人爽| 免费人成年激情视频在线观看| 日韩成人在线视频观看| 国产欧美自拍| 国精产品一区一区三区视频| 久久久午夜精品理论片中文字幕| 一级aaaa毛片| 久久久亚洲欧洲日产国码aⅴ| 精品国内自产拍在线观看视频| 91丝袜超薄交口足| 性欧美大战久久久久久久久| av中文字幕在线| 国产99视频精品免费视频36| 日本欧美韩国一区三区| 久久伊人成人网| 国产亚洲精品一区二区| 中文字幕亚洲在线观看 | 盗摄精品av一区二区三区| 日日骚av一区二区| 久久五月天综合| 你微笑时很美电视剧整集高清不卡| 九九九九九九九九| 色综合久久久久综合体| 牛牛精品视频在线|