麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Logback動態修改日志級別的方法

2024-07-14 08:42:55
字體:
來源:轉載
供稿:網友

問題提出:

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

解決方法:

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

@RestControllerpublic 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("動態修改日志級別出錯", e);      return "fail";    }    return "success";  }}

修改logback.xml配置文件:在configuration根節點配置屬性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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线成人免费视频 | 激情影院在线观看 | 免费一级特黄毛片 | 日本中文字幕电影在线观看 | 国产中出在线观看 | 精品一区二区久久久久久久网精 | 日韩av影片在线观看 | 久久成人在线观看 | 91福利免费视频 | 亚洲午夜免费 | 黄色视屏免费看 | 黄色高清免费网站 | 久久污 | a视频在线看 | 国产精品一区在线看 | 中国女警察一级毛片视频 | 一区免费| 精品国产精品久久 | 国产在线欧美日韩 | 国产精品午夜在线观看 | 99爱精品在线 | 91网在线播放 | 韩国精品一区二区三区四区五区 | 国产亚洲精品久久久久久久久久 | 毛片大全免费看 | 成人国产在线视频 | 精品一区二区三区在线观看国产 | 黄视频在线网站 | 欧美黄 片免费观看 | 天天黄色片 | 91精品国 | 天天草天天爱 | 黄色网址在线播放 | 国产成人在线一区 | 久久久久久久久久久久网站 | 伊人久久国产精品 | 久草在线资源视频 | 久久亚洲美女视频 | 国产精品久久久久久影视 | 91 在线观看 | 国产91对白叫床清晰播放 |