成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手寫了個(gè)小中間件,開(kāi)源啦

開(kāi)源
通過(guò)日志進(jìn)行業(yè)務(wù)關(guān)鍵邏輯的輸出,是定位問(wèn)題的有效手段之一。但是,過(guò)多的日志記錄又會(huì)對(duì)系統(tǒng)造成額外的開(kāi)銷,極端情況下,甚至可能導(dǎo)致系統(tǒng)宕機(jī)。

項(xiàng)目名稱:LogLevelSwitch(運(yùn)行時(shí)動(dòng)態(tài)日志等級(jí)開(kāi)關(guān))。

項(xiàng)目地址,走過(guò)路過(guò)可以點(diǎn)個(gè)star :)

https://github.com/saigu/LogLevelSwitch。

1、為什么需要LogLevelSwitch

隨著業(yè)務(wù)規(guī)模不斷擴(kuò)大,每一次線上故障的快速定位都是對(duì)開(kāi)發(fā)同學(xué)的巨大挑戰(zhàn)。

通過(guò)日志進(jìn)行業(yè)務(wù)關(guān)鍵邏輯的輸出,是定位問(wèn)題的有效手段之一。但是,過(guò)多的日志記錄又會(huì)對(duì)系統(tǒng)造成額外的開(kāi)銷,極端情況下,甚至可能導(dǎo)致系統(tǒng)宕機(jī)。

因此,為了兼顧性能和故障場(chǎng)景下的快速定位,我們需要能夠?qū)崟r(shí)調(diào)整日志等級(jí),以便輸出更多的日志信息排查線上問(wèn)題,或是減少日志打印帶來(lái)的性能消耗。

基于以上背景,我們的LogLevelSwitch誕生了。

LogLevleSwitch以中間件的形式嵌入應(yīng)用,基于配置中心的熱更新能力,實(shí)現(xiàn)了應(yīng)用運(yùn)行時(shí)動(dòng)態(tài)調(diào)整日志等級(jí)的能力。

2、功能特性

兼容性:支持Log4j、Log4j2、Logback等。

擴(kuò)展性:可以使用默認(rèn)的基于本地配置文件的配置修改方式(僅供本地測(cè)試學(xué)習(xí)使用)。生產(chǎn)上,「強(qiáng)烈推薦」 通過(guò)SPI接入你自己的配置中心,實(shí)現(xiàn)熱更新。

易用性:接入簡(jiǎn)單,效果拔群,只要5分鐘你就能用上。

3、基本架構(gòu)

在應(yīng)用Application中引入我們的LogLevelSwitch。

LogLevelSwitch包含兩個(gè)核心組件,LogContext和SwitchContext。

  • SwitchContext: 保存從配置中心獲取的switch開(kāi)關(guān)狀態(tài)與具體Logger配置信息。通過(guò)監(jiān)聽(tīng)配置中心消息,實(shí)時(shí)更新switch內(nèi)容,并實(shí)現(xiàn)對(duì)Logger等級(jí)的修改通知。
  • LogContext:保存應(yīng)用原始的Logger與日志級(jí)別信息,并能夠根據(jù)switch配置 更新 或 復(fù)原 Logger的等級(jí)。

4、Quick Start

話不多說(shuō)了,快來(lái)嘗嘗鮮吧。

(1) 普通spring項(xiàng)目

只用三步即可完成。

STEP 1: 應(yīng)用中pom引入依賴。

<dependency>
<groupId>io.github.saigu</groupId>
<artifactId>log-switch-core</artifactId>
<version>1.0.0-beta</version>
</dependency>

STEP 2: 構(gòu)建config Bean。

@Configuration
public class LogLevelSwitchConfig {
@Bean
LogLevelSwitch logLevelSwitch() {
return new LogLevelSwitch();
}
}

STEP 3: 接入配置中心。

聲明配置中心的SPI實(shí)現(xiàn)。

  • 在resource路徑下新建 META-INF/services,創(chuàng)建文件名為
  • io.github.saigu.log.level.sw.listener.ConfigListener的文件,并寫入需要的「實(shí)現(xiàn)類名」。

實(shí)現(xiàn)一:項(xiàng)目自帶的LocalFile配置中心。

如果你還沒(méi)有自己的配置中心,那就使用我們自帶的基于本地配置文件進(jìn)行本地測(cè)試學(xué)習(xí)。

「實(shí)現(xiàn)類名」為:

io.github.saigu.log.level.sw.listener.LocalFileListener

注意,生產(chǎn)上 強(qiáng)烈推薦 通過(guò)「實(shí)現(xiàn)二」接入你自己的配置中心,實(shí)現(xiàn)熱更新。

在resource目錄下新建LocalSwitch.json文件:

然后填寫開(kāi)關(guān)配置:

{
"status": "on",
"loggerBeans": [
{
"name": "all",
"level": "error"
}
]
}

實(shí)現(xiàn)二:自定義SPI擴(kuò)展配置,接入自己的配置中心。

如果你已經(jīng)有了自己的配置中心,那就可以通過(guò)SPI擴(kuò)展配置,接入自己的配置中心。

「實(shí)現(xiàn)類名」為你自己的實(shí)現(xiàn)類名。

(2) Springboot項(xiàng)目

兩步接入。

STEP 1: 應(yīng)用中pom引入依賴。

<dependency>
<groupId>io.github.saigu</groupId>
<artifactId>log-switch-starter</artifactId>
<version>1.0.0-beta</version>
</dependency>

STEP 2: 接入配置中心。

同「方式一」。

5、關(guān)鍵配置

SwitchContext是我們的關(guān)鍵配置:

參考范例:

{
"status": "on",
"loggerBeans": [
{
"name": "all",
"level": "error"
}
]
}

6、注意事項(xiàng)

為了規(guī)范日志使用,同時(shí)避免影響降級(jí)開(kāi)關(guān)效果,初始化的時(shí)候會(huì)去檢測(cè)項(xiàng)目中依賴的日志框架實(shí)現(xiàn)。

請(qǐng)注意,如果日志提示

“存在多個(gè)日志框架實(shí)現(xiàn),建議只保留一個(gè),否則會(huì)影響日志降級(jí)開(kāi)關(guān)效果”

說(shuō)明檢測(cè)到了應(yīng)用中引入了多個(gè)日志框架實(shí)現(xiàn)。

建議從pom中進(jìn)行移除多余日志框架,確保采用唯一日志框架實(shí)現(xiàn)。

責(zé)任編輯:姜華 來(lái)源: 阿丸筆記
相關(guān)推薦

2011-10-28 09:20:36

dorado

2022-08-09 08:31:29

RocketMQ消息中間件

2011-10-24 07:41:38

SOA中間件應(yīng)用服務(wù)器

2021-09-09 09:05:30

開(kāi)源字節(jié)跳動(dòng)CloudWeGo

2025-06-12 08:34:48

云原生開(kāi)源中間件

2011-05-24 15:10:48

2021-02-11 08:21:02

中間件開(kāi)發(fā)CRUD

2013-05-17 15:08:19

紅帽

2013-05-17 17:01:32

紅帽OpenShifPaaS云

2019-12-13 10:32:56

開(kāi)源消息中間件

2018-02-01 10:19:22

中間件服務(wù)器系統(tǒng)

2018-07-29 12:27:30

云中間件云計(jì)算API

2016-11-11 21:00:46

中間件

2012-11-30 10:21:46

移動(dòng)中間件

2023-06-29 10:10:06

Rocket MQ消息中間件

2023-10-24 07:50:18

消息中間件MQ

2009-06-16 15:55:06

JBoss企業(yè)中間件

2013-03-27 10:04:21

云計(jì)算開(kāi)源中間件

2013-03-27 10:11:23

云計(jì)算紅帽

2010-09-09 09:07:36

開(kāi)源平臺(tái)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 91高清视频在线观看 | 一a级片| 亚洲综合日韩精品欧美综合区 | 羞羞视频一区二区 | 欧美激情在线精品一区二区三区 | 亚洲久久| av午夜电影 | www.性色| 在线观看成年视频 | 久久精品在线免费视频 | 国产精品久久久 | 精品久久久久久国产 | 狠狠爱网址 | 天堂久久网 | 操操日 | 国产精品免费在线 | 精品91久久久 | av影音资源| 成人精品一区二区三区 | 精品国产伦一区二区三区观看体验 | 性xxxxx| 亚洲a在线观看 | 亚洲视频免费在线看 | 福利一区视频 | 国产精品久久久久久一区二区三区 | 九九色综合 | 日韩毛片在线视频 | 成人在线免费观看av | 亚洲精品乱码久久久久久按摩观 | 91精品国产91久久久久久最新 | 一级黄色夫妻生活 | 欧美亚洲另类丝袜综合网动图 | av大片 | 黄色片免费在线观看 | 波多野结衣一区二区三区在线观看 | 日本午夜免费福利视频 | 成人区一区二区三区 | 波波电影院一区二区三区 | 天天操夜夜操 | 日韩国产在线 | 激情六月丁香婷婷 |