Logback动态切换日志级别

          最近项目中有这么一个需求,希望 sql的debug日志在开发环境中打印处理,方便调试。但线上不想打印。  每次发布上线时,修改logback.xml 中的<root level="INFO">很是麻烦。

         就琢磨着有没有根据环境动态修改日志级别的方法。最终在Logback的LoggerContext找到了API。

        调用方法如下

LoggerContext loggerContext= (LoggerContext) LoggerFactory.getILoggerFactory();
Logger logger=loggerContext.getLogger("root");
logger.setLevel(Level.toLevel("INFO"));
LoggerFactory.getLogger(getClass()).debug("debug..");
LoggerFactory.getLogger(getClass()).info("info..");
logger.setLevel(Level.toLevel("DEBUG"));
LoggerFactory.getLogger(getClass()).debug("debug..");

//打印信息如下
09:40:49 [main] INFO  - info..
09:40:49 [main] DEBUG - debug..

猜你喜欢

转载自x0516.iteye.com/blog/2376260
今日推荐