介绍
本篇文章为大家展示了使用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 %> 模式 编码器> <根> <级别值="信息"/> <编码器> <模式> % 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} 根> 配置>
上述内容就是使用Logback怎么动态修改日志级别,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。