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

##LoggingApplicationListener监听

@Overridepublic 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();}}

##初始化

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集合容器,循环调用输出日志到文件或控制台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401864.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新金三银四必问面试题大全

我花了三天时间,整理了100道最经典的常见测试面试题(附答案)!完整版文档见文末! 1、所做项目的情况,主要做什么类型的测试? 2、你在测试中发现了一个bug,但是开发经理认为这不是一个…

安卓主板_MTK联发科主板定制开发|PCBA定制开发

MTK联发科安卓主板,采用MT6762八核平台方案,支持谷歌Android 11.0系统,MT6762采用ARM八核A53内核芯片、主频高达2.0GHz,GPU采用ARM PowerVR GE8329650MHZ,支持主流19201080分辨率,支持硬解H.264&#xff0c…

【TabBar嵌套Navigation案例-设置页面-解析plist Objective-C语言】

一、我们来做这个设置页面 1.先看一下我们的示例程序,当我们点击上边的这个齿轮时候, 会跳到一个Controller里边来,然后呢,这个Controller,是一个TableView,组的样式, 我们先把这个小功能,先做了,再来说设置页面里边的东西啊, 首先呢,点击这个齿轮的时候,我要找到…

常用任务管理函数

任务挂起函数 void vTaskSuspend( TaskHandle_t xTaskToSuspend ) 有比较简单的两点需要注意。 第一,使用任务挂起函数必须将INCLUDE_vTaskSuspend配置为1。 第二,实参为要挂起任务的句柄。 void vTaskSuspendAll(void) 这个…

仓库与文件的提交/修改/删除

目录 1. 创建仓库 ​编辑​编辑 2. 界面解释 3. 再创建仓库 4. 移除仓库 5. 本地添加文件到仓库 ​编辑​编辑 6. 比对,提交 7. 修改,提交 8. 查询版本号 9. 删除文件 git 是分布式版本控制工具,需要将中央服务器克隆到本地&#…

Android逆向题解-攻防世界app2

又是一个花里胡哨的题。 一通分析没啥用。 最后指令启动界面就ok。 adb shell am start -n com.tencent.testvuln/com.tencent.testvuln.FileDataActivity 还是看一眼解密代码 protected void onCreate(Bundle bundle0) {super.onCreate(bundle0);this.setContentView(0x7F030…

东南亚TikTok直播:直播专线的重要性及其优势

在东南亚地区进行TIKTOK直播时,是否需要使用专线呢?答案是肯定的。因为你的客户群体面向东南亚,需要东南亚IP直播地址,才能够推送精准的东南亚用户到你的直播间。本文将讨论使用TikTok直播专线的一些优势。 使用专线直播可以确保获…

自主导航巡检车在石油领域和相关专业中的发展和应用

随着石油行业的不断发展,特别是在勘探和生产的过程中,石油设施往往分布广泛,环境复杂。传统的人工巡检方式不仅效率低,而且面临着高风险和高成本的问题。自主导航巡检车的出现,结合了无人驾驶、传感器技术、数据分析和…

注意力机制篇 | YOLOv8改进之引入NAMAttention注意力机制 | 基于标准化的注意力模块

前言:Hello大家好,我是小哥谈。本文提出一种基于归一化的注意力模块(NAM),可以降低不太显著的特征的权重,这种方式在注意力模块上应用了稀疏的权重惩罚,这使得这些权重在计算上更加高效,同时能够保持同样的性能。我们在ResNet和MobileNet上和其他的注意力方式进行了对比…

这个夏天,我们为中国骄傲!

你知道吗?今年8月份,中国在体育和汽车两个领域都取得了惊人的成就。首先,让我们来看看体育界的表现。在巴黎奥运会上,中国队以绝对优势夺得金牌榜首位,展现了强大的体育实力。这不仅是对运动员们辛勤付出的肯定&#x…

晶振电容匹配与电路设计要点:确保稳定振荡的关键

晶振作为电子设备中关键的频率控制元件,其电容匹配和电路设计的合理性直接影响到设备的性能稳定性。以下是对晶振电容匹配及晶振电路设计注意事项的总结。 晶振电容匹配的重要性 负载电容是晶振正常振荡所必需的电容,它包括晶振两端的外接电容和IC输入…

Linux 与 Windows 服务器操作系统 | 全面对比

在服务器操作系统的领域,Linux 和 Windows 一直是两个备受关注的选择。 首先来看 Windows 操作系统。它由 Microsoft Corporation 开发,在桌面领域占据显著份额,其中 Windows 10 是使用最广泛的版本,广泛应用于个人计算机和企业桌…

【体外诊断】基于ARM+FPGA全自动核酸提取仪

全自动核酸提取仪 ARM: NXP IMX8/IMX6U, TI AM62X/AM5728, RK: RK3588/RK3568 FPGA: Xilinx A7/K7/SPANTAN6/ZYNQ/MPSOC, 国产复旦微、安路、高云、紫光 全自动核酸提取仪是一种高精度、高效率的核酸提取设备,主要用于对样本进行核酸提取。其原理是使用自动化控制系统,通过多…

5 大场景上手通义灵码企业知识库 RAG

大家好,我是通义灵码,你的智能编程助手!最近我又升级啦,智能问答功能全面升级至 Qwen2,新版本在各个方面的性能和准确性都得到了显著提升。此外,行间代码补全效果也全面优化,多种编程语言生成性…

【考研数学】定积分应用——旋转体体积的计算(一文以蔽之)

目录 一、如何计算旋转体体积?思考一个小例子 二、旋转体体积的二重积分表达式 三、用真题,小试牛刀 定积分的应用中,有一类题是求解旋转体的体积问题。 相较于记忆体积计算公式,有一种通法求解体积更不容易出错:二重…

基于 SpringCloud 分布式架构网上商城

目录 1绪论 4 1.1项目研究的背景 4 1.2开发意义 4 1.3课题研究现状 4 1.4项目研究内容与结构 5 2开发技术介绍 6 2.1Java技术 6 2.2 SpringCloud简介 6 2.3MySQL 介绍 7 2.4MySQL环境配置 7 2.5B/S架构 8 3系统分析 9 3.1可行性分析 9 3.1.1技术可行性 9 3.1.2经济可行性 9 3.…

零食赛道格局清晰:传统零食企业承压,量贩零食热度稍减

1 搭上“量贩零食”赛道的零食企业,短期内业绩都有不错的表现,但这个赛道似乎并没有以前那么热闹了。 从量贩零食赛道看,仍是鸣鸣很忙集团(原零食很忙)和万辰集团(300972.SZ)争锋,…

无人机灯光含义的详解!!!

一、LED指示灯和状态指示灯 LED指示灯:通常位于飞行器的头部机臂上,用于显示无人机的当前状态。 状态指示灯:位于尾部机臂上,提供更多关于无人机状态的信息。 红绿黄灯交替闪烁 表示无人机正在进行系统自检。稍等片刻&#xf…

pygame开发课程系列(2): Pygame 基础

第二章 Pygame 基础 本章将深入 Pygame 的基本功能,包括如何初始化 Pygame、创建窗口、设置颜色、绘制基本图形和更新屏幕。这些基础操作是开发 Pygame 游戏的起点,掌握它们是实现更复杂功能的前提。 2.1 初始化 Pygame 在开始使用 Pygame 之前&#x…

python完整爬取工商数据代码实例+数据展示

在数据爬虫这个领域,我早已不再是新手,而是一位经验丰富的老手。长期以来,我通过不断实践和探索,掌握了一系列高效的爬虫技术,特别是在应对复杂网页和动态数据时,更是积累了独特的经验。 初识爬虫&#xf…