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

Logback動態(tài)修改日志級別的方法

 更新時間:2018年11月23日 10:52:56   作者:totally123  
這篇文章主要介紹了Logback動態(tài)修改日志級別的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

問題提出:

一般在生產(chǎn)環(huán)境上,日志的級別是INFO以上,但有時候程序出現(xiàn)問題(如SQL報錯),少量日志不能盡快定位問題,這時候可以動態(tài)修改日志級別到DEBUG,打印更多日志后可以快速定位到問題。

解決方法:

定義動態(tài)修改日志級別的接口:這種方法的好處是不用修改配置文件,排錯后再次調(diào)用接口把日志級別修改回去;壞處是需要在代碼中寫死指定哪些包要修改日志級別。示例代碼如下:

@RestController
public class LogController {
  private static Logger logger = LoggerFactory.getLogger(LogController.class);

  @RequestMapping(value = "logLevel/{logLevel}")
  public String changeLogLevel(@PathVariable("logLevel") String logLevel) {

    try {
      LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
      loggerContext.getLogger("org.mybatis").setLevel(Level.valueOf(logLevel));
      loggerContext.getLogger("org.springframework").setLevel(Level.valueOf(logLevel));
    } catch (Exception e) {
      logger.error("動態(tài)修改日志級別出錯", e);
      return "fail";
    }

    return "success";
  }
}

修改logback.xml配置文件:在configuration根節(jié)點配置屬性scan和scanPeriod,scan為true時,配置文件被修改會被重新加載,scanPeriod定義了掃描文件變化的周期,默認6000毫秒,即一分鐘。這種做法的好處是不用自己寫修改日志級別的邏輯;壞處是要手動更改配置文件,排錯完成后需改回原來的配置。示例配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="6000">
  <property name="LOG_HOME" value="/export/logs/cmdb/" />
  <property name="APP_NAME" value="cmdb" />
  <property name="LOG_FILE_EXPIRE_TIME" value="180" />

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} | ${APP_NAME} - %p | %thread | %c | line:%L - %m%n</pattern>
    </encoder>
  </appender>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${LOG_HOME}${APP_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>${LOG_FILE_EXPIRE_TIME}</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} | ${APP_NAME} - %p | %thread | %c | line:%L - %m%n</pattern>
    </encoder>
  </appender>

  <root>
    <level value="INFO" />
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>
</configuration>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java設(shè)計優(yōu)化之單例模式

    java設(shè)計優(yōu)化之單例模式

    這篇文章主要為大家詳細介紹了java設(shè)計優(yōu)化中的單例模式,深入學(xué)習(xí)java單例模式,感興趣的朋友可以參考一下
    2016-03-03
  • IDEA如何添加配置文件到classpath中

    IDEA如何添加配置文件到classpath中

    這篇文章主要介紹了IDEA如何添加配置文件到classpath中,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 解決json串和實體類字段不一致的問題

    解決json串和實體類字段不一致的問題

    這篇文章主要介紹了解決json串和實體類字段不一致的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Java中如何實現(xiàn)不可變Map詳解

    Java中如何實現(xiàn)不可變Map詳解

    這篇文章主要給大家介紹了關(guān)于Java中如何實現(xiàn)不可變Map的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作工具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Struts2學(xué)習(xí)教程之輸入校驗示例詳解

    Struts2學(xué)習(xí)教程之輸入校驗示例詳解

    這篇文章主要給大家介紹了關(guān)于Struts2學(xué)習(xí)教程之輸入校驗的相關(guān)資料,文中通過示例介紹的非常詳細,對大家學(xué)習(xí)或者使用struts2具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • 一文搞懂Java正則表達式的使用

    一文搞懂Java正則表達式的使用

    正則表達式,又稱規(guī)則表達式,是一種文本模式。正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串,通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。本文將通過示例為大家詳細說說Java正則表達式的使用,感興趣的可以了解一下
    2022-08-08
  • Java創(chuàng)建型設(shè)計模式之單例模式

    Java創(chuàng)建型設(shè)計模式之單例模式

    Java單例模式是一種設(shè)計模式,它確保一個類只有一個實例,并提供一個全局訪問點。可以使用多種方式實現(xiàn)單例模式,如餓漢式、懶漢式、雙重檢查鎖定、靜態(tài)內(nèi)部類、枚舉等,每種方式都有其優(yōu)缺點,需要根據(jù)具體情況選擇使用
    2023-05-05
  • Java實現(xiàn)文件分割和文件合并實例

    Java實現(xiàn)文件分割和文件合并實例

    本篇文章主要介紹了Java實現(xiàn)文件分割和文件合并實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • IDEA安裝Activiti插件并解決亂碼問題(推薦)

    IDEA安裝Activiti插件并解決亂碼問題(推薦)

    這篇文章主要介紹了IDEA安裝Activiti插件并解決亂碼問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 淺談JDK7和JDK8的區(qū)別在哪

    淺談JDK7和JDK8的區(qū)別在哪

    面試總是遇到這個問題,做一個小總結(jié),文中有非常詳細的介紹,對正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06

最新評論