Spring boot logback日志框架加载初始化源码

##LoggingApplicationListener监听

java 复制代码
@Override
	public void onApplicationEvent(ApplicationEvent event) {
		if (event instanceof ApplicationStartingEvent) {
			onApplicationStartingEvent((ApplicationStartingEvent) event);
		}
		else if (event instanceof ApplicationEnvironmentPreparedEvent) {
			onApplicationEnvironmentPreparedEvent((ApplicationEnvironmentPreparedEvent) event);
		}
		else if (event instanceof ApplicationPreparedEvent) {
			onApplicationPreparedEvent((ApplicationPreparedEvent) event);
		}
		else if (event instanceof ContextClosedEvent
				&& ((ContextClosedEvent) event).getApplicationContext().getParent() == null) {
			onContextClosedEvent();
		}
		else if (event instanceof ApplicationFailedEvent) {
			onApplicationFailedEvent();
		}
	}

##初始化

java 复制代码
protected void initialize(ConfigurableEnvironment environment, ClassLoader classLoader) {
		new LoggingSystemProperties(environment).apply();
		this.logFile = LogFile.get(environment);
		if (this.logFile != null) {
			this.logFile.applyToSystemProperties();
		}
		this.loggerGroups = new LoggerGroups(DEFAULT_GROUP_LOGGERS);
		initializeEarlyLoggingLevel(environment);
		initializeSystem(environment, this.loggingSystem, this.logFile);
		initializeFinalLoggingLevels(environment, this.loggingSystem);
		registerShutdownHookIfNecessary(environment, this.loggingSystem);
	}

##Spring boot 集成logback日志框架

org.springframework.boot.logging.logback.LogbackLoggingSystem

this.loggingSystem = LoggingSystem.get(event.getSpringApplication().getClassLoader());

##String logConfig = environment.getProperty(CONFIG_PROPERTY);//取出配置文件log xml配置

##解析xml文档

##实例化xml配置节点日志对象ch.qos.logback.core.rolling.RollingFileAppender

##日志对象存到这个InterpretationContext上下文

##添加到appenderList集合容器,循环调用输出日志到文件或控制台

相关推荐
yinke小琪2 分钟前
说说hashCode() 和 equals() 之间的关系
java·后端·面试
若鱼19196 分钟前
Kafka如何配置生产者拦截器和消费者拦截器
java·kafka
渣哥11 分钟前
Java 自适应自旋锁机制详解:原理、优缺点与应用场景
java
摇滚侠21 分钟前
java语言中,list<String>转成字符串,逗号分割;List<Integer>转字符串,逗号分割
java·windows·list
烽学长23 分钟前
(附源码)基于Spring Boot的宿舍管理系统设计
java
xkroy24 分钟前
用户登录
spring boot
lssjzmn25 分钟前
基于Spring Boot与Micrometer的系统参数监控指南
java·spring boot·数据可视化
柯南二号25 分钟前
【Java后端】Spring Boot 集成雪花算法唯一 ID
java·linux·服务器
纤瘦的鲸鱼30 分钟前
Docker 从入门到实践:容器化技术核心指南
java·docker·容器
BXCQ_xuan1 小时前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis