SpringBoot日志概念总结

Java Springboot 日志 概念详解 小白教程 Java Springboot 日志 概念详解 小白教程 阅读详情
/**
 * <pre>
 *     JCL,SLF4j: 日志的抽象层,也叫日志门面
 *     Log4j,JUL,Log4j2,Logback: 日志的具体实现
 *
 *     在Spring中,默认的日志抽象是JCL
 *     在SpringBoot中,默认的日志抽象是SLF4J + Logback
 *
 *
 *     日志的使用和依赖选择: 以使用SLF4j日志门面为例
 *      需要调用日志抽象层的方法,而不是具体实现的方法
 *
 *     1. SLF4j  ->  只导入slf4j-api抽象层API  ->  日志输出到/dev/null的位置,并提示No SLF4J providers were found,没收找到对应的日志实现
 *
 *
 *     2. SLF4j + Logback
 *
 *        SLF4j  ->  导入slf4j-api抽象层API(可省略,因为具体实现依赖该API,所以会自动引入进来)  -> 导入logback的实现: logback-classic
 *
 *       总结: SLF4j + logback 只需要添加"logback-classic"依赖 implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.5.0'
 *
 *
 *     3. SLF4j + log4j
 *        由于log4j出现的比SLF4j门面还早,所以不可能直接能实现该日志抽象,所以需要一层适配层,上到SLF4j,下到log4j实现
 *
 *        SLF4j  ->  导入slf4j-api抽象层API(可省略,因为具体实现依赖该API,所以会自动引入进来)  ->  导入slf4f-log4j的适配层: slf4j-log4j12   -> 适配层自动添加log4j依赖
 *
 *               -> 输出日志提示:No appenders could be found for logger,Please initialize the log4j system properly
 *
 *               -> 表示没有找到配置文件,添加log4j的配置文件
 *
 *        总结: SLF4j + log4j 只需要添加"slf4j-log4j12"依赖 implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '2.0.0'
 *
 *
 *    4. SLF4j + JUL
 *
 *       由于java.util.logging也没有考虑SLF4j,所以也需要适配层
 *
 *       SLF4j  ->  导入slf4j-api抽象层API(可省略,因为具体实现依赖该API,所以会自动引入进来)  ->  导入slf4f-log4j的适配层: slf4j-jdk14 -> 因为是JDK提供的,所以可以直接打印
 *
 *       总结: SLF4j + jul 只需要添加"slf4j-jdk14"依赖 implementation group: 'org.slf4j', name: 'slf4j-jdk14', version: '2.0.0'
 *
 *
 *    5. SLF4j +  默认实现
 *
 *        SLF4j  ->  导入slf4j-api抽象层API  ->  导入默认实现依赖:slf4j-simple
 *
 *        总结: SLF4j + jul 只需要添加"slf4j-jdk14"依赖 implementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.0'
 *
 *   6. 大总结
 *      所有的配置文件都是使用具体实现对应的配置文件,如何配置在官方可以查找
 * </pre>
 *
 * <pre>
 *     不同的框架使用的日志显示不同,如何做到所有的日志实现统一呢?
 *      1. 对于JCL日志门面,使用jcl-over-slf4j进行替换,将框架中的JCL依赖排除,添加jcl-over-slf4j覆盖依赖
 *          implementation group: 'org.slf4j', name: 'jcl-over-slf4j', version: '2.0.0'
 *      2. 对于Log4j日志实现,使用log4j-over-slf4j进行替换,将框架中的Log4j依赖排除,添加log4j-over-slf4j覆盖依赖
 *          implementation group: 'org.slf4j', name: 'log4j-over-slf4j', version: '2.0.0'
 *      3. 对于JUL日志实现,使用jul-to-slf4j进行替换,将框架中的jul依赖排除,添加jul-to-slf4j覆盖依赖
 *          implementation group: 'org.slf4j', name: 'jul-to-slf4j', version: '2.0.0'
 * </pre>
 *
 *
 * <pre>
 *      对于SpringBoot的日志依赖,就做到了对不同的框架使用的日志实现,原理就是导入了一些对不同实现替换的包
 *      并且底层是使用SLF4j+logback的组合完成日志实现,以下是它的核心依赖
 *      <dependency>
 *             <groupId>org.springframework.boot</groupId>
 *             <artifactId>spring-boot-starter-logging</artifactId>
 *         </dependency>
 * </pre>
 *
 * <pre>
 *     在springboot中如何配置日志信息
 *     # 配置日志级别
 * # 配置日志级别
 * logging:
 *   level:
 *     # 包名: 级别
 *     luck.springboot: debug
 *   # 指定日志系统的配置文件路径
 *   config: classpath:logging/logback-spring.xml
 *   # 指定日志文件的位置
 *   file:
 *     # 日志文件名称,默认在当前项目的根路径,默认为spring.log
 *     # 可以直接写全路径
 *     name: luck.log
 *     # name和path同时配置,path失效,默认在当前项目的根路径
 *     path: logs
 *   pattern:
 *     # 控制台日志格式
 *     console: console==> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
 *     # 文件日志格式
 *     file: file==> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
 *     # 日志的日期格式,如果设置了console,file则会覆盖
 *     dateformat: yyyy-MM-dd
 *     # 日志级别输出格式
 *     # level: debug
 *   # 指定logback配置文件路径
 *   config: classpath:logging/logback.xml
 * # 默认的配置都在spring-boot-2.7.0.jar!\org\springframework\boot\logging
 * # springProfile: 只有在xxx-spring.xml配置文件,支持按照不同环境进行隔离
 *
 * </pre>
 */
public class Logging {
    public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(Logging.class);
        logger.info("hello");
    }
}

子图同构之乌尔曼算法Ullmann Algorithm的python实现 给定两个图Ga​(子图)和Gb​(原图),其中Ga​有pa​个点和qa​条边,Gb​有pb​个点和qb​条边,其邻接矩阵分别为A和B。子图同构的关键在于找到一种从Ga​的点到Gb​的点的映射MM是一个pa​行pb​列的矩阵,且满足每行只有一个1(表示Ga​中的一个点唯一地映射到Gb​中的一个点),每列至多一个1(确保Gb​中的点不会被重复映射)。定义Ccij​MMBT,若在图Ga​。 阅读详情

相关推荐

稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案

深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。

Cheson的专栏 1356

最通俗易懂的Java日志框架使用总结

【代码】最通俗易懂的Java日志框架使用总结。

JavaMyDream的博客 674

用VINS-Fusion跑通EuRoC数据集:Ubuntu22.04+ROS2环境下的保姆级评测指南

本文详细介绍了在Ubuntu22.04和ROS2 Humble环境下使用VINS-Fusion处理EuRoC数据集的完整流程。从环境配置、数据集转换到参数调优和性能评估,提供了一套全面的多传感器融合分析方案,帮助开发者在无人机精准定位场景中实现高效部署与优化。

weixin_29212867的博客 517

Java日志框架的使用

1 日志文件   日志文件是用于记录系统操作事件的集合,可分为事件日志和消息日志。日志文件主要记录系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某种危险状态时能够及时提醒我们处理,同时在系统产生问题时,能够帮助我们快速的定位、诊断并解决问题。 2 Java常用日志框架   JUL(java.util.logging)、JCL(Apache Commons Logging)、Logback、Log4j、Log4j2、Slf4j、Jboss-logging 等。 2.1

qq_41755845的博客 1993

一文读懂Cache一致性原理

本文介绍了为什么需要维护cache一致性、一致性协议的本质和类别,以及如何设计一致性协议。

W1Z1Q的专栏 6830

保姆级图解:FD-SOI工艺流程中的关键三步(外延生长、应变硅、HKMG)

本文详细解析了FD-SOI工艺流程中的三大关键技术:外延生长、应变硅工程和HKMG集成。通过选择性外延生长技术优化接触电阻,利用应变硅提升载流子迁移率,并结合先栅高k金属栅工艺实现精准栅极控制,FD-SOI技术在智能手机处理器和自动驾驶芯片制造中展现出卓越的低功耗与高性能平衡。

weixin_29267307的博客 490

java日志框架简单使用

需要log4j配置文件。

qq_45993863的博客 95

系统回溯信息:遇到严重错误。已将回溯写入...PTC... raceback.log请将其发送给|技术支持|。

一、问题分析 这种问题一旦遇上了,如果忘了保存,直接心态爆炸。 该问题一般是显卡驱动的问题。ProE/Creo对显卡的基本要求是:支持Open_GL的3D显卡,分辨率为1024×768像素以上,推荐使用64位独立显卡,显存512MB以上。如若显卡性能太低,打开软件后易自动退出。 二、解决方法 <1>有一个非常简单的方法是:在config.pro文件中,改变图形配置graphics为” win32_gdi”而不是默认的“...

幕光倾城的博客 2万+

使用maven导入slf4j控制台报错

使用maven导入slf4j控制台报错

sichenss的博客 1386

利用恒源云在云端租用GPU服务器训练YOLOv10模型(包括Linux系统命令讲解)

为当涉及到深度学习的训练任务时,GPU的计算能力是不可或缺的。相对于传统的中央处理器(CPU),图形处理器(GPU)具有更强大的并行计算能力,能够显著加速深度学习模型的训练过程。深度学习算法通常涉及大量的矩阵运算和张量操作,而GPU的并行计算架构使得它们能够高效地执行这些计算,从而加速模型训练的速度。恒源云是一个经济高效的云计算平台,您可以通过恒源云的控制台或者命令行界面来管理实例、上传和下载数据、执行训练任务等。

Snu77的博客 1891

Python爬虫实战 | 拼多多商品评论采集与深度分析

本文从 API 调用、网页渲染到情感分析与关键词提取,全流程剖析了“拼多多商品评论采集与分析”项目。Scrapy + API 可快速抓取评论;Playwright 可突破 API 限制,抓取完整页面内容;数据清洗 + 分析揭示用户真实反馈;可持续部署、扩展至更多商品 & 时间段;

2201_76125261的博客 1695

引入slf4j-api.jar和slf4j-log4j12.jar出现的问题

对你有帮助的话,亲动动小手指,留言点赞o( ̄▽ ̄)d哦​​​​!给我一份坚持写博客的力量​​​ 1、如果运行程序出现错误:“Exception in thread "main" java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory”,这是因为项目缺少slf4j-api.jar和slf4j-log4j12.jar这两个jar包导致的错误。 ...

babyyaoyao的博客 1万+

YOLOv11模型改进全攻略:利用轻量化模块实现精度与速度双跃升

如果你在实操中遇到模块替换导致的精度骤降或部署报错,不妨尝试调整轻量化模块的替换比例,或针对性地保留关键层的原始结构。记住,轻量化的核心是“在精度损失可接受的范围内最大化提升效率”,只要结合业务场景灵活取舍,你也能让YOLOv11在资源受限的环境中大放异彩。接下来,我们从模块选型到代码集成,一步步带你打造“轻量且能打”的YOLOv11,真正帮你解决工业落地中的效率与精度痛点。训练过程中关注模型的mAP和推理速度,若精度下降过多,可调整模块替换的比例(如仅替换Backbone的部分卷积层)。

m0_64661770的博客 501

【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析

Spring Boot中的日志管理是非常重要的,它可以帮助开发人员在应用程序运行时跟踪问题、监控性能并记录关键信息。通过配置适当的日志级别和输出格式,开发人员可以更好地理解应用程序的行为并快速定位和解决问题。Spring Boot提供了灵活且强大的日志管理功能,使开发人员能够轻松地集成和配置各种日志框架,如Logback、Log4j2等,以满足不同项目的需求。

smile_sundays的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Spring】SpringBoot日志

在计算机领域,日志是一个记录了发生在运行中的操作系统或其他软件中的事件,或者记录了在网络聊天软件的用户之间发送的消息。通常情况下,系统日志是用户可以直接阅读的文本文件,其中包含了一个时间戳和一个信息或者子系统所特有的其他信息。任何系统中,日志都是非常重要的组成部分,它是反映系统运行情况的重要依据,也是排查问题时的必要线索。前面我们多多少少都用过日志,并且通过日志来解决我们代码中遇到的问题。像。

m0_74825634的博客 884

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

日志,springboot日志整合,日志配置

市面上的日志框架:Jboss-logging、logback、log4j、log4j2 等等日志门面就是在日志框架和应用程序之间架设一个沟通的桥梁,对于应用程序来说,无论底层的日志框架如何变,都不需要有任何感知日志门面可以理解为java中的一个interface(接口),而日志框架就是就是实现类SLF4J(Simple Logging Facade for Java)JUL(java.util.logging)日志门面作用1. Log4j:是一个非常流行的开源日志框架,由Apache软件基金会开发和维护。它

weixin_43827533的博客 965

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SpringBoot中日志的使用

logback,Lombok,slf4j

baomingshu的博客 1885

【SpringBoot】日志文件

本期讲解:SprintBoot日志的讲解,主要讲解:日志的级别、如何使用日志、日志的持久化,Lombok的使用、Lombok运行原理。

我的主页 2785

SpringBoot AOP介绍、核心概念、相应实现

AOP 是一种编程思想,主要用于将程序中多处重复的逻辑代码抽取成一个独立模块,并在适当的时机应用到目标方法上。AOP 的核心在于切面(Aspect),它将横切关注点(Cross-cutting Concerns)从主要业务逻辑中分离出来,简化代码结构,提高代码复用性。我们通过注解@Aspect定义切面,并使用@Component将其加入 Spring 容器中。@AuthCheck。

小蜗牛的珍贵百宝箱 1743

SpringBoot日志详情

自定义日志打印主要步骤如下:1、获取日志对象使用日志对象的相关方法输出要打印的内容2、获取日志对象// 1. 得到日志对象其中,getLogger方法需要传入当前类,用于说明日志归属类,便于我们更加直观的定位到问题类。同时,需要注意的是,Logger 对象属于 org.slf4j 包下。使用日志对象打印日志logger.error("我是error");logger.info("我是info");logger.warn("我是warn");

无简介 1567

SpringBoot使用AOP注解记录操作日志

【代码】SpringBoot实现注解记录操作日志。

道友,山高路远,如果找不到答案就去找自己。 1139

springboot集成日志

简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到了测试、生产环境呢?你有可能会说可以使用远程调试,但实际并不能允许让你这么做。所以,日志的作用就是在测试、生产环境没有 Debug 调试工具时开发、测试人员定位问题的手段。

weixin_52394141的博客 825

springboot日志框架日志原理

1、常用日志框架简介 市面上常用日志框架:JUL、JCL、jboss-logging、logback、log4j、log4j2、slf4j、etc. 其中日志门面,也是一系列接口api的有slf4j(Simple Logging Facade for Java)、JCL(Jakarta Commons Logging)、jboss-loggin **注意:**常用的slf4j等只是一日志门面,是一个日志的抽象层接口,非日志实现,具体的实现用通过log4j或者logback等框架去实现。 ...

初夏0811的博客 2万+

maven的日志在哪里看_SpringBoot统一日志处理原理

SpringBoot作为日常开发利器,开箱即用,大量的star等已经成为节省开发的重要框架之一,但是各个框架的star中引入的日志框架却不尽相同,有的是log4j,有的是slf4j,这导致我们在引入多个框架的star的时候,往往会引入多个日志框架,每一个日志框架彼此效率不尽相同,那么我们能不能做到在项目中仅引入一个统一的日志框架呢?本篇我们就来探索SpringBoot如何实现统一日志操作...

weixin_39929138的博客 2548

SpringBoot | SpringBoot 是如何实现日志的?

微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。 前言 休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下。 门面模式 说到日志框架不得不说门面模式。门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:   简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简...

weixin_33967071的博客 256

SpringBoot集成Logback日志

日志的作用是用来追踪和记录我们的程序运行中的信息,我们可以利用日志很快定位问题,追踪分析。如果没有日志,程序一旦出现问题,很难一下子就能定位问题。尤其是访问第三方接口、随机或偶尔出现的问题、很难再现的问题。之前听说过一句话:“只有在程序出问题以后才会知道打一个好的日志有多么重要。目前比较常用的Java日志框架: Logback、log4j、log4j2、JUL等等。Logback是在log4j 的基础上重新开发的一套日志框架,是完全实现SLF4J接口API(也叫日志门面)。

weixin_44023129的博客 1500
上一篇: 最通俗易懂的Java日志框架使用总结
下一篇: SpringBoot实现日志收集原理
安缇吖
博客等级 码龄9年 411粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值