欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于logback日志級別動態(tài)切換的四種方式

 更新時間:2023年08月28日 09:42:15   作者:lipengxs  
這篇文章主要介紹了關(guān)于logback日志級別動態(tài)切換的四種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

生產(chǎn)環(huán)境中經(jīng)常有需要動態(tài)修改日志級別。

現(xiàn)在就介紹幾種方案

方案一:開啟logback的自動掃描更新

配置如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- configuration標簽 scan屬性代表logback框架會定時檢測改配置文件是否有發(fā)生改動,如果有則更新為最新配置-->

然后就將修改的配置文件拷貝到app.jar的同級目錄下config/logback.xml

方案二:自定義api

代碼如下

/**
 * log api
 * @author lipeng
 */
@RequestMapping("/api/log")
@RestController
public class LogbackController {
    private Logger log = LoggerFactory.getLogger(LogbackController.class);
    /**
     * logback動態(tài)修改包名的日志級別
     * @param level 日志級別
     * @param packageName 包名
     * @return 當前的日志級別
     * @throws Exception
     */
    @RequestMapping(value = "/setlevel")
    public String updateLogbackLevel( @RequestParam(value="level") String level,
                                      @RequestParam(value="packageName",defaultValue = "-1") String packageName) throws Exception {
        ch.qos.logback.classic.LoggerContext loggerContext =(ch.qos.logback.classic.LoggerContext) LoggerFactory.getILoggerFactory();
       Logger logger= null
        if(packageName.equals("-1")) {
            // 默認值-1,更改全局日志級別;否則按傳遞的包名或類名修改日志級別。
          logger=  loggerContext.getLogger("root")
        } else {
           logger= loggerContext.getLogger(packageName)
        }
        logger.setLevel(ch.qos.logback.classic.Level.toLevel(level));
        return logger.getLevel();
    }
}

方案三:springboot引入Actuator

1、pom.xml增加相關(guān)依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、配置文件中增加配置

如果是springboot1.X,

management.security.enabled=false

如果是springboot2.X,則參考如下配置

management:
  endpoint:
    health:
      show-details: "ALWAYS"
  endpoints:
    web:
      exposure:
        include: "*"

3、查看級別

我們可以發(fā)送GET 請求到 http://localhost:8080/actuator/loggers 來獲取支持的日志等級,以及系統(tǒng)(ROOT)默認的日志等和各個包路徑(com.xxx.aa等)對應的日志級別。

。

4、修改日志級別

通過 http://localhost:8080/actuator/loggers 端點提供的 POST 請求,修改包路徑com.xxx.aa的日志級別為DEBUG:

發(fā)送POST 請求到 http://localhost:8080/actuator/loggers/com.xxx.aa,其中請求 Body 的內(nèi)容如下:

{
"configuredLevel": "DEBUG"
}

再用GET 訪問 http://localhost:8080/loggers/com.xxx.aa查看當前的日志級別:

{
configuredLevel: "DEBUG",
effectiveLevel: "INFO"
}

方案四:集成springcloudadmin來動態(tài)修改配置

springcloudadmin安裝部署我就不做描述了,網(wǎng)上很多。

1、引入admin依賴

<dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
        </dependency>
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

2、登錄springcloudadmin

找到指定的服務中某一個節(jié)點

然后點擊左邊日期,進入控制臺,如下

這樣就能動態(tài)修改了,操作比較方便。

總結(jié)

在條件允許的情況下建議使用方案四

以上僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 學習筆記(入門篇)_程序流程控制結(jié)構(gòu)和方法

    java 學習筆記(入門篇)_程序流程控制結(jié)構(gòu)和方法

    程序流程控制結(jié)構(gòu)分為:順序、選擇、循環(huán)以及異常處理結(jié)構(gòu),語句是程序的基本組成單位,一般來說語句的執(zhí)行流程是按順序來進行的,但是當遇到一些特殊的條件,比如循環(huán),這時候語句就會按照流程控制結(jié)構(gòu)來進行了
    2013-01-01
  • Java生成短8位UUID的實現(xiàn)方案

    Java生成短8位UUID的實現(xiàn)方案

    在Java中,UUID通常用于生成全局唯一的標識符,標準的UUID是128位的,由32個十六進制數(shù)字組成,并通過特定的算法保證其在全球范圍內(nèi)的唯一性,本文給大家介紹了一個簡單的Java方法,用于生成一個較短的8位UUID,需要的朋友可以參考下
    2025-01-01
  • IDEA插件推薦之Maven-Helper的教程圖解

    IDEA插件推薦之Maven-Helper的教程圖解

    這篇文章主要介紹了IDEA插件推薦之Maven-Helper的相關(guān)知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2020-07-07
  • Maven項目打包成可執(zhí)行Jar文件步驟解析

    Maven項目打包成可執(zhí)行Jar文件步驟解析

    這篇文章主要介紹了Maven項目如何打包成可執(zhí)行Jar文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java中使用Socket發(fā)送Java對象實例

    Java中使用Socket發(fā)送Java對象實例

    這篇文章主要介紹了Java中使用Socket發(fā)送Java對象實例,本文使用對象流直接發(fā)送對象,本文同時給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • Spring AOP入門Demo分享

    Spring AOP入門Demo分享

    這篇文章主要介紹了Spring AOP入門Demo分享,涉及創(chuàng)建maven項目,編寫切面類,通過bean配置關(guān)聯(lián)等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • java頁面中文亂碼的解決辦法

    java頁面中文亂碼的解決辦法

    做java開發(fā)的朋友碰到最多的就是中文亂碼這個問題了,下面介紹頁面提交時與url中文亂碼的一些解決辦法
    2013-11-11
  • IDEA中SpringBoot項目的yml多環(huán)境配置方式

    IDEA中SpringBoot項目的yml多環(huán)境配置方式

    這篇文章主要介紹了IDEA中SpringBoot項目的yml多環(huán)境配置,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • Spring中@Autowired和@Resource注解的使用區(qū)別詳解

    Spring中@Autowired和@Resource注解的使用區(qū)別詳解

    這篇文章主要介紹了Spring中@Autowired和@Resource注解的使用區(qū)別詳解,@Autowired默認根據(jù)type進行注入,找到與指定類型兼容的?Bean?并進行注入,如果無法通過type匹配到對應的?Bean?的話,會根據(jù)name進行匹配,如果都匹配不到則拋出異常,需要的朋友可以參考下
    2023-11-11
  • Java?8中的Collectors?API介紹

    Java?8中的Collectors?API介紹

    這篇文章主要介紹了Java?8中的Collectors?API,Stream.collect()是Java?8的流API的終端方法之一。它允許我們對流實例中保存的數(shù)據(jù)元素執(zhí)行可變折疊操作,下文相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04

最新評論