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

你可能感兴趣的:(java,logback)