使用Logback怎么动态修改日志级别

  介绍

本篇文章为大家展示了使用Logback怎么动态修改日志级别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强>解决方法:

定义动态修改日志级别的接口:这种方法的好处是不用修改配置文件,排错后再次调用接口把日志级别修改回去;坏处是需要在代码中写死指定哪些包要修改日志级别。示例代码如下:

@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(“动态修改日志级别出错,,,e);   ,,,,,return “fail";   ,,,}      ,,,return “success";   ,,}   }

修改logback。xml配置文件:在配置根节点配置属性扫描和scanPeriod,扫描为真时,配置文件被修改会被重新加载,scanPeriod定义了扫描文件变化的周期,默认6000毫秒,即一分钟。这种做法的好处是不用自己写修改日志级别的逻辑;坏处是要手动更改配置文件,排错完成后需改回原来的配置。示例配置如下:

& lt; ? xml  version=?.0“,编码=癠TF-8", ?比;   & lt; configuration 扫描=皌rue", scanPeriod=?000“比;   & lt;才能property  name=癓OG_HOME",价值=https://www.yisu.com/zixun/"/出口/logs/cmdb/"/>   <属性名=" APP_NAME " value=" cmdb "/>   <属性名=" LOG_FILE_EXPIRE_TIME " value=" 180 "/>         <编码器>   <模式> % d {yyyy-MM-dd HH: mm: ss。SSS} | $ {APP_NAME} - % p c | | %线程| %:% L - m % n %>             $ {LOG_HOME} $ {APP_NAME}。% d {yyyy-MM-dd} . log    $ {LOG_FILE_EXPIRE_TIME}      <编码器>   <模式> % d {yyyy-MM-dd HH: mm: ss。SSS} | $ {APP_NAME} - % p c | | %线程| %:% L - m % n %>         <根>   <级别值="信息"/>         根>

上述内容就是使用Logback怎么动态修改日志级别,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

使用Logback怎么动态修改日志级别