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

Logback動(dòng)態(tài)修改日志級(jí)別的方法

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

問(wèn)題提出:

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

解決方法:

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

@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("動(dòng)態(tài)修改日志級(jí)別出錯(cuò)", e);
      return "fail";
    }

    return "success";
  }
}

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

<?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>

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

相關(guān)文章

  • Java關(guān)鍵字this與super詳解用法

    Java關(guān)鍵字this與super詳解用法

    這篇文章主要介紹了Java關(guān)鍵字this與super的用法,this與super是類實(shí)例化時(shí)通往Object類通道的打通者;this和super在程序中由于其經(jīng)常被隱式的使用而被我們忽略,但是理解其作用和使用規(guī)范肯定是必須的。接下來(lái)將詳述this與super各自的的作用,需要的朋友可以參考一下
    2022-04-04
  • Java 生成圖片驗(yàn)證碼3種方法(字母、加減乘除、中文)

    Java 生成圖片驗(yàn)證碼3種方法(字母、加減乘除、中文)

    這篇文章主要介紹了Java 生成圖片驗(yàn)證碼3種方法(字母、加減乘除、中文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Spring Boot整合mybatis(一)實(shí)例代碼

    Spring Boot整合mybatis(一)實(shí)例代碼

    sprig-boot是一個(gè)微服務(wù)架構(gòu),加快了spring工程快速開發(fā),以及簡(jiǎn)便了配置。接下來(lái)開始spring-boot與mybatis的整合
    2017-07-07
  • SpringBoot自動(dòng)裝配原理解析

    SpringBoot自動(dòng)裝配原理解析

    Spring Boot自動(dòng)裝配是指在Spring Boot應(yīng)用啟動(dòng)時(shí),根據(jù)類路徑下的jar包依賴、Bean定義、各種配置文件等信息,自動(dòng)配置Spring應(yīng)用上下文的Bean,本文給大家詳細(xì)解析了SpringBoot自動(dòng)裝配原理,需要的朋友可以參考下
    2024-11-11
  • java日期格式化SimpleDateFormat的使用詳解

    java日期格式化SimpleDateFormat的使用詳解

    這篇文章主要介紹了java SimpleDateFormat使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • SpringBoot + Shiro前后端分離權(quán)限

    SpringBoot + Shiro前后端分離權(quán)限

    這篇文章主要為大家詳細(xì)介紹了SpringBoot + Shiro前后端分離權(quán)限,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 微信公眾帳號(hào)開發(fā)教程之圖文消息全攻略

    微信公眾帳號(hào)開發(fā)教程之圖文消息全攻略

    本篇主要介紹微信公眾帳號(hào)開發(fā)中圖文消息的使用,以及圖文消息的幾種表現(xiàn)形式。標(biāo)題取名為"圖文消息全攻略",這絕對(duì)不是標(biāo)題黨,是想借此機(jī)會(huì)把大家對(duì)圖文消息相關(guān)的問(wèn)題、疑慮、障礙全部清除掉。
    2016-12-12
  • ?Java數(shù)據(jù)結(jié)構(gòu)的十大排序

    ?Java數(shù)據(jù)結(jié)構(gòu)的十大排序

    這篇文章主要介紹了?Java數(shù)據(jù)結(jié)構(gòu)的十大排序,排序算法分為比較類排序和非比較類排序,具體的內(nèi)容,需要的朋友參考下面思維導(dǎo)圖及文章介紹,希望對(duì)你有所幫助
    2022-01-01
  • mybatis中的test語(yǔ)句失效處理方式

    mybatis中的test語(yǔ)句失效處理方式

    這篇文章主要介紹了mybatis中的test語(yǔ)句失效處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java打印指定年月份的日歷

    java打印指定年月份的日歷

    這篇文章主要為大家詳細(xì)介紹了java打印指定年、指定月份的日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評(píng)論

正定县| 靖远县| 新平| 山西省| 灵石县| 方正县| 平顺县| 广宁县| 嫩江县| 仁布县| 义乌市| 龙岩市| 阳春市| 迁西县| 湖口县| 吕梁市| 张家界市| 黎城县| 旌德县| 临武县| 澳门| 云林县| 勐海县| 九龙县| 博野县| 徐汇区| 镇沅| 沽源县| 大邑县| 湾仔区| 长汀县| 扎兰屯市| 龙游县| 古浪县| 揭西县| 丰城市| 昌平区| 井研县| 阿拉尔市| 红河县| 新沂市|