这篇文章将为大家详细讲解有关spring boot中怎么动态调整日志级别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
实现起来超级简单,使用spring boot自带的LoggingSystem的api来动态设置日志级别,当然的项目需要提供动态调整的接口,来达动态调整的目的。不过博主项目使用了Apollo配置中心,利用其配置动态生效的特性,soso就搞定了,代码如下
@Service public class DynamicLoggersConfig{ Logger logger= LoggerFactory.getLogger(getClass()); @ApolloConfig private Config config; private final static String LoggerTag="logging.level."; private final LoggingSystem loggingSystem; public DynamicLoggersConfig(LoggingSystem loggingSystem) { Assert.notNull(loggingSystem, "LoggingSystem must not be null"); this.loggingSystem = loggingSystem; } @ApolloConfigChangeListener private void configChangeListter(ConfigChangeEvent changeEvent){ SetkeyNames=config.getPropertyNames(); for (String key:keyNames){ if (StringUtils.containsIgnoreCase(key,LoggerTag)){ String strLevel=config.getProperty(key,"info"); LogLevel level = LogLevel.valueOf(strLevel.toUpperCase()); loggingSystem.setLogLevel(key.replace(LoggerTag,""),level); logger.info("{}:{}",key,strLevel); } } } }
怎么配置?
和在spring环境下正常配置日志级别一样配置即可,如
logging.level.org.springframework = info logging.level.com.yudianbank.sales = debug logging.level.org.hibernate = info
关于spring boot中怎么动态调整日志级别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。