您的位置:首页 > 其它

动态切换logback的日志级别

2017-11-21 00:00 309 查看
最近项目中有这么一个需求,希望 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..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: