Spring Boot日志

Spring Boot打印日志 打印日志 Spring Boot默认使用Slf4j日志门面和Logback日志实现,关于日志门面和日志实现的关系,可以使用以下Slf4j官网的这张图表示,日志门面是日志实现的抽象层,我们调用日志的接口时应该调用日志门面的接口 但是有时候一些框架的日志不是用slf4j的规范,这时候可以使用桥接jar包去转换,在Spring Boot整合其他框架的时候也是这么实现的,桥接的原理如下图所示 输出日志 在Spring Boot中打印日志,可以使用Spring Boot默认的Slf4j接口,使用日志工厂类Logg 阅读详情

日志框架

  • 日志框架
    • 小张开发一个大型系统:
      • System.out.println(""),将关键数据打印在控制台,去掉?写在一个文件?
      • 框架来记录系统的运行时的信息,日志矿建:zhanglogging.jar
      • 高大上的几个功能?异步模式?启动归档?xxxxx? zhanglogging-good.jar
      • 将以前的框架卸下来?换上新的框架,重新修改之前相关的API,zhanglogging-prefect.jar
      • JDBC--数据库驱动
        • 写了一个统一的接口层:日志门面(日志的一个抽象层),logging-abstract.jar

        • 给项目中导入具体的日志实现就行了,我们之前的日志框架都是实现的抽象层

    • 市面上的日志框架;

      • JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j...

      • 左边选一个门面(抽象层)、右边来选一个实现

        • 日志门面: SLF4J

        • 日志实现:Logback

      • SpringBoot:底层是Spring框架,Spring框架默认是用JCL

      • SpringBoot选用 SLF4j和logback

  • SLF4j使用【SLF4j官网:http://www.slf4j.org/】

    • 如何在系统中使用SLF4j:

      • ​​​以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法

      • 给系统里面导入slf4j的jar 和 logback的实现jar
      • 问题:每一个日志的实现框架都有自己的配置文件,使用SLF4j以后,配置文件还是做成日志实现框架自己本身的配置文件
    • 遗留问题:
      • 比如有个系统a(SLF4j+LogBack):Spring(Commons-loggings)、Hibernate(jboss-logging)、MyBatis、xxxxx
      • 统一日志记录,即使是别的框架也和我一起统一使用SLF4j进行输出么???
      • 如何让系统中所有的日志都统一到slf4j
        • 将系统中其他日志框架先排除出去
        • 用中间包来替换原有的日志框架
        • 我们导入slf4j其他的实现
  • SpringBoot日志关系
    • SpringBoot使用它来做日志功能
    • 底层依赖关系:
      • 绿框第一个:使用logback记录日志
      • 黄框右边两个:把其他日志转换成SLF4j
      • 绿框第二个:导入日志抽象层SLF4j
      • 总结:
        • SpringBoot底层也是使用slf4j+logback的方式进行日志记录
        • SpringBoot也把其他的日志都替换成了SLF4j
        • 如果我们要引入其他框架?一定要把这个框架的默认日志依赖移除掉
          • Spring框架用的是commons-logging
        • SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可 ,因为Spring Boot会通过自己的jar去替代
  • ​​​​​​​​​​​​​​​​​​​​​日志使用
    • ​​​​​​​默认配置:
      • ​​​​​​​SpringBoot默认帮我们配置好了日志
      • logging.file.namelogging.file.pathExampleDescription
        (none)(none) 只在控制台输出
        指定文件名(none)my.log输出日志到my.log文件
        (none)指定目录/var/log输出到指定目录的 spring.log 文件中
    • 指定配置:
      • ​​​​​​​给类路径下放上每个日志框架自己的配置文件即可,SpringBoot就不使用他默认配置了
      • Logging SystemCustomization
        Logback

        logback-spring.xml

        logback-spring.groovy

        logback.xml【直接就被日志框架识别了】

        logback.groovy

        Log4j2

        log4j2-spring.xml 

        log4j2.xml

        JDK (Java Util Logging)logging.properties
      • logback.xml:直接就被日志框架识别了
      • logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能
        • 举例:
          • 如果没有设置的情况下输出的是未开发环境,想要输出开发环境需要在properties文件中配置如下
        • 如果使用logback.xml作为日志配置文件,还要使用profile功能,会有以下错误

  • 切换日志框架

    • 可以按照 SLF4j 的日志适配图,进行相关的切换

    • 切换到SLF4j + Log4j的方式

    • 切换为Log4j2

      • 删除下图的依赖

Spring Boot 进阶- Spring Boot日志框架介绍 这篇文章中,我们介绍了Spring Boot框架中如何使用日志,以及关于使用日志的一些注意事项。了解关于日志级别调整的配置。但是这些都是默认配置,那么我们如何自定义日志的输出路径,以及自定义日志的输出格式呢?下一篇文章我们来一起研究关于如何自定义日志输出。 阅读详情

相关推荐

在Spring Boot中输出日志

文章目录在Spring Boot中输出日志Spring Boot日志默认配置日志级别(logging level)使用logback或log4j2日志使用logback使用log4j2在代码中输出日志参考文档 在Spring Boot中输出日志 Spring Boot日志默认配置 Spring Boot提供了“开箱即用”的日志功能,默认配置如下: 默认只输出日志到控制台 默认日志级别为INFO ...

锐意工作室 1850

Spring-Boot:日志文件

日志在Spring root中有什么作用?在普通的业务中,如果发现代码出现bug,你不打开控制台看日志,你纯纯的看哪里有bug是一件可以说是不可能的事情,因此除了发现和定位问题之外,我们还可以通过⽇志实现以下功能:记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。记录系统的操作⽇志,⽅便数据恢复和定位操作⼈。记录程序的执⾏时间,⽅便为以后优化程序提供数据⽀持。以上这些都是⽇志提供的⾮常实⽤的功能。

kaiwawah的博客 211

使用Logback将日志发送到Kafka

在Spring Boot应用程序中,日志记录是一个关键的方面,因为它可以帮助我们追踪问题、监控应用程序的行为以及进行故障排除。Logback是一个功能强大的日志框架,它提供了丰富的配置选项和灵活的日志记录能力。这样,我们可以集中应用程序的日志,并在集中的位置进行存储和分析。在上面的示例中,我们使用了一个简单的模式,包括日期、线程、日志级别、日志记录器和消息。在上面的示例中,我们将根级别设置为INFO,并将其附加到名为KAFKA的附加器。当你运行应用程序时,日志事件将被发送到配置中指定的Kafka服务器。

DeoSql的博客 802

springBoot 将日志通过logback写入kafka实战

在web项目实战过程中,我们对日志的处理一般有多种方式,直接写到文件、或者直接写入ELK或者直接写入kafka,今天我们分享直接写入kafka的实战流程: 1、pom文件引入jar <dependency> <groupId>com.github.danielwegener</groupId> <artifactId>logback-kafka-appender</artifactId> <version>0.2.0-

nandao158的博客 4909

扩展logback将日志输出到Kafka实例扩展源码

扩展logback将日志输出到Kafka实例扩展源码,详情参见博文:http://blog.youkuaiyun.com/l1028386804/article/details/79136841

告别混乱接线!用EPLAN 3D布局图,手把手教你搞定电气柜的3D建模与自动布线

本文详细介绍了如何使用EPLAN 3D布局图进行电气柜的3D建模与自动布线,帮助工程师告别混乱接线。从项目准备、基础结构建模到智能设备布局与逻辑定义,再到高级布线技术与问题排查,提供了一套完整的实战指南。通过EPLAN的3D功能,显著提升设计效率与系统可靠性。

weixin_30680385的博客 339

springboot logback整合kafka实现日志写入

springboot + logback + kafka实现日志写入

qq_39091806的博客 3439

固定翼飞行器建模(二)——MATLAB/Simulink建模、配平及线性化

MATLAB/Simulink固定翼建模、配平及线性化。

2302_80148937的博客 1万+

SpringBoot整合Kafka消息组件

1、Kafka是新一代的消息系统,也是目前性能最好的消息组件,在数据采集业务中被广泛应用。这里Kafka将基于Kerberos认证实现消息组件处理。 修改pom.xml配置文件,追加依赖库配置,如下所示: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache...

HiterCoder 332

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

qq_45834835的博客 2603

游戏开发:逻辑与渲染分离技术解析

游戏开发中逻辑与渲染分离的架构设计 本文系统阐述了游戏开发中逻辑与渲染分离的设计原则与实践方法。文章首先定义了核心概念:逻辑层负责游戏规则与状态,渲染层处理视觉表现,二者通过数据模型层进行通信。通过历史回顾,揭示了从早期混合架构到现代分层设计的演变过程。 在技术实现层面,文章详细分析了分离架构的优势:性能优化、流畅度控制、测试便利性、扩展灵活性以及团队协作效率。提供了Unity和Unreal两大引擎的具体实现方案,包括代码示例、分层模型和最佳实践。特别探讨了网络同步、客户端预测、插值处理等关键技术难点。 文

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1060

Spring Boot 日志

SpringBoot日志详解

qq_67549203的博客 1052

基于IEEE39节点系统的风力发电机组并网改造与稳定性研究

本文研究了基于IEEE39节点系统的风力发电机组并网改造与稳定性问题。首先将系统工作频率从60Hz转换为50Hz,并对同步发电机、变压器、线路和负荷参数进行相应调整。随后将30、32、34、37号节点的同步发电机替换为不同容量的永磁同步发电机(PMSG)和双馈感应发电机(DFIG),详细建立了两种风电机组的数学模型和控制策略。通过Simulink仿真验证,改造后的系统能够稳定运行并满足并网要求。研究成果为大规模风电并网系统仿真提供了参考,对提高电力系统可再生能源消纳能力具有重要意义。

huanghm88的专栏 109

【JavaEE】Spring Boot 日志

SpringBoot日志相关知识

yj20040627的博客 2971

本地部署大模型:dgx-spark-ai项目硬件选型、部署与私有化AI构建指南

大语言模型(LLM)的本地部署是当前AI工程实践中的重要方向,其核心原理在于将模型权重与计算过程完全置于用户可控的硬件环境中。这项技术的核心价值在于实现了数据主权与隐私安全,避免了云端服务的延迟、持续订阅成本及数据外泄风险。从技术实现看,本地部署的关键在于硬件选型与软件环境适配,尤其是NVIDIA GPU的CUDA生态、显存容量与内存带宽的匹配。在应用场景上,本地化部署特别适合对数据敏感性要求高的领域,如企业内部代码助手、金融分析或医疗研究,能够支持私有化模型微调与定制化工作流构建。本文以dgx-spark

weixin_42531579的博客 502

如何使用 Claude Code 搜索 SAP note

当然,Claude Code 自己仍然要有一种合法可用的模型访问方式,例如 Claude 订阅、Anthropic API 或公司配置的模型提供方式,这和 Browser Extension 是两个问题。因为 Claude Code 已经是完整的 MCP Host,而 Microsoft Playwright MCP 又已经明确支持现有 Chrome Session,两者拼起来在技术架构上完全成立。Microsoft Playwright MCP 默认可以创建持久化浏览器 Profile。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 60

Spring Boot Admin在线查看spring boot后台日志

本文介绍了使用SpringBootAdmin组件解决SpringBoot应用日志查看难题的方案。针对开发人员无法直接访问服务器日志的问题,通过搭建SpringBootAdmin服务端(9091端口)和客户端(8080端口),实现了Web端实时查看应用日志的功能。详细阐述了服务端和客户端的配置过程,包括pom依赖、启动类注解、application.yml配置及logback日志文件设置。该方案支持在线查看错误日志、动态调整日志级别,既解决了生产环境日志查看问题,也便于开发调试,适用于单体架构和微服务架构

8668

YOLO11涨点优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测

多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 6309

Spring Boot ——Spring Boot与日志

一、SpringBoot日志介绍 1、简介: Spring Boot底层使用的的日志框架为SLF4j(日志的抽象层)、logback(日志实现)。 2、如何使用SLF4j 代码中使用SLF4j方法 Logger logger = LoggerFactory.getLogger(getClass()); 导入对应的jar包 3、当spring boot依赖sprin...

沁竹林 337

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Spring Boot配置
下一篇: Spring Boot 与 Web 开发
Future_LL
博客等级 码龄9年 215粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值