Spring 如何集成日志框架

news2025/1/11 6:02:56

文章目录

    • 一、日志依赖
      • 1.1 Spring 如何集成日志
      • 1.2 SpringBoot 的默认日志门面和日志系统
    • 二、日志配置
      • 2.1 SpringBoot 日志配置方式
      • 2.2 SpringBoot 日志重定向到文件
    • 参考资料

一、日志依赖

1.1 Spring 如何集成日志

从Spring Framework 5.0开始,Spring 在 spring-jcl 模块中实现了自己的 Commons Logging brige。其具体实现为:

  • 检查类路径中是否存在Log4j 2. x API 和 SLF4J 1.7 API,并使用找到的第一个API作为日志实现。
  • 如果Log4j 2.x和SLF4J都不可用,则回退到Java平台的核心日志工具(也称为JUL或java.util.log)。

1.2 SpringBoot 的默认日志门面和日志系统

Spring Boot 使用的日志门面是 SLF4J (Simple Logging Facade for Java),而其默认的日志实现是 Logback

spring-boot-starter-web 依赖里面,我们也可以看到日志框架的依赖。

在这里插入图片描述

二、日志配置

对于 logback 日志框架,日志配置文件主要有:

  • logback.xml : 默认位置位于 classpath 下面
  • logback-spring.xml : 可以使用 Spring boot 提供的扩展功能 , 例如 defaults.xml 提供终端输出格式 CONSOLE_LOG_PATTERN

2.1 SpringBoot 日志配置方式

日志配置方式主要有:

  • 如果日志配置需求比较简单,我们可以编辑 applacation.yaml 。例如:

    # 日志配置
    logging:
      # 指定日志配置文件的位置,通常为logback.xml
      config: classpath:logback.xml
    
      # 配置日志级别
      level:
        # Spring Boot Web相关组件的日志级别设置为DEBUG
        org.springframework.web: "debug"
        # Hibernate相关组件的日志级别设置为ERROR
        org.hibernate: "error"
    
  • 如果日志配置需求比较复杂,建议编写日志配置文件 logback-spring.xml

具体细节查看 Logging :: Spring Boot

2.2 SpringBoot 日志重定向到文件

src/main/resources 目录下,创建 logback-spring.xml 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="./logs/spring.log"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="FILE" />
    </root>
</configuration>

其中,日志输出文件路径为 ./logs/spring.log

参考资料

Logging :: Spring Boot

Logging :: Spring Framework

SpringBoot系列(6):SpringBoot集成slf4j日志配置_springboot @slf4j-CSDN博客

Spring Boot 输出日志到文件(简单配置或使用 logback.xml 文件)_springboot yml 只记录erro到文件里-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

淘宝的商品信息缓存体系是如何构建的?

0 前言 在电商系统中&#xff0c;商品信息的快速获取对用户体验至关重要。本文将详细讲解一个多层级的商品信息缓存体系&#xff0c;旨在提高系统性能和可靠性。 开局一张图&#xff0c;剩下全靠编&#xff01; 1 整体架构 该缓存体系采用了多级缓存策略&#xff0c;从前端到…

influxDB的常用命令

目录 1.查看数据库命令 2.进入某数据库命令 3.创建表的命令 (host 和region 字段是必须的) 4.显示所有的表命令 5. 删除表 6.查询表数据 7.显示数据库用户 8.创建用户 9.创建管理员用户 10.修改密码(密码用单引号括住&#xff0c;不要用双引号) 11. 分配数据库访问权…

满客宝后台管理系统 downloadWebFile 任意文件读取漏洞复现(XVE-2024-18926)

0x01 产品简介 满客宝后台管理系统由正奇晟业&#xff08;北京&#xff09;科技有限公司开发&#xff0c;满客宝智慧食堂系统的重要组成部分&#xff0c;它为餐饮管理者提供了一个全面的、智能化的管理平台。该系统集成了用户管理、消费限制、菜谱管理、卡务管理、进销存管理、…

Linux进程间通信1

文章目录 前言管道命名管道 / FIFO消息队列 前言 进程之间可能会存在特定的协同工作的场景&#xff0c;而协同就必须要进行进程间通信&#xff0c;协同工作可能有以下场景。 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件…

【TDH社区版大事件】图分析、全文检索、小文件治理、数据开发工具通通都有!

星环科技大数据基础平台TDH社区版&#xff0c;在保留了商业版核心技术优势的基础上最大程度地降低了用户使用大数据技术的门槛与成本&#xff0c;具有更轻量、更简单、更易用等特性。 此次TDH社区开发版、社区版、社区订阅版均发布了新版本&#xff0c;带来新的产品组件和新的…

我是如何给阿里大神Tree工具类做CodeReview并优化的

首发公众号&#xff1a;赵侠客 引言 前段时间我写了一篇关于树操作的工具类《解密阿里大神写的天书般的Tree工具类&#xff0c;轻松搞定树结构&#xff01;》&#xff0c;当时主要把精力集中在分析代码的实现层面&#xff0c;没有从设计层面、性能层考虑&#xff0c;然后就被很…

Linux网络之多路转接——老派的select

目录 一、高级IO 1.1 概念 1.2 五种IO模型 1.3 小结 二、多路转接的老派 2.1 select 的作用 2.2 select 的接口 三、select 的编写 3.1 类的预先准备 3.2 类的整体框架 3.3 类的执行 Loop 四、Loop 中的回调函数 4.1 HandlerEvent 4.2 AcceptClient 4.3 Service…

二、4 函数的递归与迭代

1、n 的阶乘 2、斐波那契数列 &#xff08;1&#xff09;递归 用递归解决这个问题&#xff0c;由于需要多次重复计算&#xff0c;当 n 较大时&#xff0c;计算效率就非常慢 &#xff08;2&#xff09;迭代&#xff08;速度更快&#xff09;

C# 下⽀持表达式树的框架类型详解与示例

文章目录 什么是表达式树&#xff1f;表达式树的主要用途包括&#xff1a;表达式树节点类型示例&#xff1a;创建一个简单的加法表达式树示例&#xff1a;使用表达式树进行数据绑定示例&#xff1a;动态生成代码总结 在C#中&#xff0c;表达式树&#xff08;Expression Tree&am…

首届「中国可观测日」圆满落幕

首届中国可观测日&#xff08;Observability Day&#xff09;在上海圆满落幕&#xff0c;为监控观测领域带来了一场技术盛宴。作为技术交流的重要平台&#xff0c;此次活动不仅促进了观测云与亚马逊云科技之间的深化合作&#xff0c;更标志着双方共同推动行业发展的重要里程碑。…

红蓝绿三巨头集体拉胯,NVIDIA新显卡被核显秒了

最近蓝厂 intel 的瓜想必大家都已经吃上了吧&#xff1f;13-14 代中高端 CPU 大面积故障崩溃事件。 后续是 intel 官方回应&#xff0c;系微代码错误&#xff0c;请求电压较高导致的。 intel 目前给出的方案是&#xff0c;出现了问题的 CPU&#xff0c;intel 给予免费换新售后…

微信小程序之单选框

微信小程序中的单选框&#xff08;Radio&#xff09;是一个常用的输入组件&#xff0c;用于在多个选项中进行选择。常见的应用场景有性别选择、选项过滤、问卷调查等。本文将介绍小程序中单选框的特点和作用及相应示例。 一、单选框的特点和作用 特点&#xff1a; 单一选择&a…

php yii2 foreach中使用事务,事务中使用了 continue

问题描述&#xff1a;使用yii2&#xff0c;在foreach中使用事务&#xff0c;每个循环一个事务&#xff0c;在事务进行判断,然后直接continue,导致后面的循环数据没有保存成功 如下图&#xff1a; 修改后&#xff1a;如下图

【人工智能学习之商品检测实战】

【人工智能学习之商品检测实战】 1 开发过程2 网络训练效果2.1 分割网络2.2 特征网络 3 跟踪与后处理4 特征库优化5 项目源码解析5.1 yolo训练train_yolo.pygood_net.pydataset.pygood_cls_data.pysave_feature.pyanalyse_good.pyshop_window.pytest.py 6 结语 1 开发过程 拍摄…

Spring boot 整合influxdb2

一.服务安装 docker search influxdb docker pull influxdb docker run -dit --name influxdb --restart always -p 8086:8086 -v /dp/docker/file/influxdb:/var/lib/influxdb influxdb 访问8086 初始化 账号组织和新建bucket 创建密钥 这些豆记录下来 二.项目配置 引入依赖…

什么是物流锁控,RFID物流智能锁对于物流锁控有什么意义

在当今竞争激烈的全球商业环境中&#xff0c;物流行业作为经济发展的重要支撑&#xff0c;其高效、安全的运作至关重要。物流锁控作为保障物流运输过程中货物安全、准确和及时交付的关键环节&#xff0c;正面临着日益复杂的挑战。 一、物流锁控的定义与范畴 物流锁控&#xf…

JavaScript学习笔记(十一):JS Browser BOM

1、JavaScript Window - 浏览器对象模型 浏览器对象模型&#xff08;Browser Object Model (BOM)&#xff09;允许 JavaScript 与浏览器对话。 1.1 浏览器对象模型&#xff08;Browser Object Model (BOM)&#xff09; 不存在浏览器对象模型&#xff08;BOM&#xff09;的官方…

【周易哲学】生辰八字入门讲解(一)

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解【周易哲学】生辰八字入门讲解&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; 目录 生辰八字阴阳五行天干地支天干天干天干五合天干…

怎么恢复电脑删除的数据?4种有效的数据恢复方法

在数字时代&#xff0c;数据已成为我们生活与工作的核心要素&#xff0c;它不仅存储着我们工作中的各种重要资料&#xff0c;也记录着个人生活的点点滴滴。无论是精心准备的工作文档或者珍藏的重点照片&#xff0c;在不经意间被误删、因设备故障、中病毒等原因导致丢失&#xf…