最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot集成magic-api的詳細過程

 更新時間:2023年06月13日 08:59:46   作者:有一只柴犬  
這篇文章主要介紹了Springboot集成magic-api的相關(guān)知識,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1、前言

今天項目中遇到一個問題,springboot后端項目經(jīng)常使用log4j輸出日志,同時會配置相應(yīng)日志級別。但是由于開發(fā)過程中不經(jīng)意間都會log.info("xxxx")來打印日志,而線上級別也會控制在info級別。正常不會有什么問題,但是今天有個超長報文傳輸,恰好日志在控制臺輸出了這段報文用作跟蹤。而log并沒有開啟緩存以及并行寫入,導(dǎo)致IO阻塞,程序無法正常響應(yīng)。

通常情況下,這種問題的解決措施為:

  • 直接重啟程序
  • 使用arths動態(tài)調(diào)整日志級別

arths是個好工具,很適合用于線上排障,應(yīng)對該場景也可以直接動態(tài)調(diào)整log級別,而不需要重啟服務(wù)器。那么今天再介紹另一個可以動態(tài)調(diào)整日志級別的工具,magic-api。magic-api

2、springboot集成magic-api

2.1、添加maven依賴

<dependency>    
    <groupId>org.ssssssss</groupId>    
    <artifactId>magic-api-spring-boot-starter</artifactId>    
    <version>2.1.0</version>
</dependency>

其他springboot的相關(guān)依賴就不贅述了。

2.2、application.yml配置

magic-api:
  web: /magic/web    # magic-api控制臺訪問地址
  resource:          # magic-api數(shù)據(jù)存儲信息配置
    location: workspace/magic/data      # location表示使用本地文件存儲,存儲路徑為工作目錄workspace/magic/data下
    datasource:        # datasource表示數(shù)據(jù)源存儲,這里指定使用的數(shù)據(jù)源, datasource和location選擇一個

2.3、編寫測試接口

@Slf4j
@RestController
@RequestMapping("test")
public class TestController {
    @GetMapping("index")
    public String index(){
        //  trace 級別日志        
        LOGGER.trace("-------trace------");
        //  debug 級別日志        
        LOGGER.debug("-------debug------");
        //  info 級別日志        
        LOGGER.info("-------info------");
        //  warn 級別日志        
        LOGGER.warn("-------warn------");
        //  error 級別日志        
        LOGGER.error("-------error------");
        return "ok";
    }
}

2.4、啟動程序,訪問接口

當(dāng)看到控制臺輸出如下信息,就是已經(jīng)啟動成功了。

訪問接口:http://localhost:8083/test/index??梢钥吹饺罩敬蛴。?/p>

由于默認日志級別是info,所以看到info以上級別的輸出。

2.5、magic-api腳本

打開magic-api控制臺:http://192.168.0.109:8083/magic/web/index.html

左側(cè)菜單欄選擇接口,接著空白處右鍵創(chuàng)建分組:

創(chuàng)建完分組后,創(chuàng)建接口:

創(chuàng)建后,在return "Hello magic-api"編輯框內(nèi)使用如下腳本:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
var levelName = "debug";
var packageName = "com.xxx";
LoggerFactory.getILoggerFactory().getLogger(packageName).setLevel(Level.toLevel(levelName));
return "OK";

由于springboot中使用了lombok,使用了默認的logback,所以這里的impor實現(xiàn)類需要找對。不然沒有效果。

輸入后,點擊右上角的運行按鈕。運行完可以再次訪問測試接口地址。

可以看到日志級別調(diào)整為debug,而程序不用重啟。

3、magic-api其他語法

magic-api其實是通過JVM的script語言注入進去,提供了其他豐富的功能。這里不贅述,也需要慢慢使用體會。其他的特性語法可以參考文檔:

簡介 | magic-api

這里只是拋磚引玉而已。

4、注意事項

使用magic-api的時候需要注意,正因為如此方便的功能和特性,如果貿(mào)然線上使用該插件,很容易導(dǎo)致被人而已攻擊注入。所以盡可能避免外網(wǎng)訪問,我們的處理措施是ng代理上直接不對外暴露,僅限于內(nèi)部研發(fā)排障使用。

相比這種需要集成在代碼中的使用方式,arths可能具有天然的優(yōu)勢,但是magic-api也有其特長,可以雙管齊下,取長補短吧。

相關(guān)文章

  • IDEA指定Maven的settings不生效問題的解決方法

    IDEA指定Maven的settings不生效問題的解決方法

    在IntelliJ IDEA中手動指定Maven settings文件未生效,主要因用戶目錄和全局配置優(yōu)先級高于IDEA指定的文件,下面就來介紹一下該問題的解決,感興趣的可以了解一下
    2025-08-08
  • Java中BigDecimal與0比較的一個坑實戰(zhàn)記錄

    Java中BigDecimal與0比較的一個坑實戰(zhàn)記錄

    BigDecimal屬于大數(shù)據(jù),精度極高,不屬于基本數(shù)據(jù)類型,屬于java對象,下面這篇文章主要給大家介紹了關(guān)于Java中BigDecimal與0比較的一個坑的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • spring boot+自定義 AOP 實現(xiàn)全局校驗的實例代碼

    spring boot+自定義 AOP 實現(xiàn)全局校驗的實例代碼

    最近公司重構(gòu)項目,重構(gòu)為最熱的微服務(wù)框架 spring boot, 重構(gòu)的時候遇到幾個可以統(tǒng)一處理的問題。這篇文章主要介紹了spring boot+自定義 AOP 實現(xiàn)全局校驗 ,需要的朋友可以參考下
    2019-04-04
  • Java實現(xiàn)圖片裁剪功能的示例詳解

    Java實現(xiàn)圖片裁剪功能的示例詳解

    這篇文章主要介紹了如何利用Java實現(xiàn)圖片裁剪功能,可以將圖片按照自定義尺寸進行裁剪,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-01-01
  • java實現(xiàn)RTF文件查看器(附帶源碼)

    java實現(xiàn)RTF文件查看器(附帶源碼)

    這篇文章主要介紹了一個基于?Java?Swing?的?RTF?文件查看器,既可作為輕量級桌面應(yīng)用,也可嵌入到更大規(guī)模的管理系統(tǒng)中,滿足用戶對?RTF?文檔的即時預(yù)覽、樣式保真和簡單導(dǎo)航需求
    2025-06-06
  • Java中5種輸出換行方式小結(jié)

    Java中5種輸出換行方式小結(jié)

    在Java中,輸出換行符是一項非?;镜牟僮?它在控制臺中輸出文本時非常常見,本文主要介紹了Java中5種輸出換行方式小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • java定時任務(wù)的實現(xiàn)方法

    java定時任務(wù)的實現(xiàn)方法

    java定時任務(wù)的實現(xiàn)方法,需要的朋友可以參考一下
    2013-03-03
  • centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動

    centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動

    這篇文章主要介紹了centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Springboot整合LangChain4j 全流程

    Springboot整合LangChain4j 全流程

    LangChain4j是一個專為Java生態(tài)打造的大語言模型應(yīng)用開發(fā)框架,支持多種模型提供商,具備豐富的功能模塊,如對話記憶、RAG管道支持、結(jié)構(gòu)化輸出等,這篇文章給大家介紹Springboot整合LangChain4j的全流程,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • 使用Filter攔截器如何實現(xiàn)請求跨域轉(zhuǎn)發(fā)

    使用Filter攔截器如何實現(xiàn)請求跨域轉(zhuǎn)發(fā)

    這篇文章主要介紹了使用Filter攔截器如何實現(xiàn)請求跨域轉(zhuǎn)發(fā),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

阳江市| 新密市| 河间市| 海丰县| 阿瓦提县| 进贤县| 登封市| 深圳市| 施秉县| 十堰市| 辉南县| 绩溪县| 嘉禾县| 延川县| 西昌市| 富民县| 阜平县| 电白县| 山丹县| 静安区| 保德县| 商洛市| 峨边| 新竹市| 德化县| 财经| 墨竹工卡县| 浠水县| 呼和浩特市| 余江县| 阿坝| 浦北县| 房产| 博爱县| 玉山县| 疏勒县| 和田县| 苍南县| 永善县| 民权县| 宾川县|