Apollo SpringBoot log4j动态更新日志级别
背景
使用Apollo作为配置中心,日志配置在namespace为longging中,生产想要实现修改日志级别后不需要重启应用。
实现
import com.ctrip.framework.apollo.model.ConfigChange;
import com.ctrip.framework.apollo.model.ConfigChangeEvent;
import com.ctrip.framework.apollo.spring.annotation.ApolloConfigChangeListener;
import jodd.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.logging.LogLevel;
import org.springframework.boot.logging.LoggerConfiguration;
import org.springframework.boot.logging.LoggingSystem;
import org.springframework.stereotype.Component;
import java.util.Set;
/**
* @Description: Apollo 日志级别动态刷新
* @Auther: chenshx
* @Date: 2020/12/15
*/
@Component
public class LoggerLevelRefresher {
private static final Logger logger =