SpringBoot日志快速集成详解-生产实战
SpringBoot日志快速集成详解
- 1. 添加依赖
- 2. 创建 `logback-spring.xml` 配置文件
- 示例 `logback-spring.xml` 配置:
- 3. 启用 Spring Boot 自动配置
- 4. 配置 Spring Boot 启动日志级别
- 5. 运行与验证
博文专注于最快速的实战,没有那么多逼逼叨叨的理论,主打一个快速上手,集成即用。
该配置可用于生产环境,自测通过,关键信息做了补充讲解,如果喜欢的话,烦请点个赞,谢谢!
在 Spring Boot 项目中集成 logback-spring.xml 配置文件,可以用来定制日志的输出方式、格式、级别等。以下是集成步骤和示例配置;
1. 添加依赖
Spring Boot 默认集成了 Logback,因此通常不需要额外添加 Logback 依赖。如果没有添加,可以在 pom.xml 中加入如下依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId>
</dependency>
2. 创建 logback-spring.xml 配置文件
在项目 src/main/resources 目录下创建 logback-spring.xml 文件,Spring Boot 会自动加载此文件。
示例 logback-spring.xml 配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--日志存储路径--><property name="log" value="./logs" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--输出格式化--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!-- 按天生成日志文件 --><appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 时间和大小策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 日志文件名,%d 表示日期,%i 表示文件索引 --><fileNamePattern>${log}/%d{yyyy-MM-dd}.%i.log</fileNamePattern><!-- 日志文件最大大小 --><maxFileSize>100MB</maxFileSize><!-- 最大保存天数 --><maxHistory>30</maxHistory><!-- 最大存储空间总量(可选) --><totalSizeCap>20GB</totalSizeCap></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="console" /><appender-ref ref="file" /></root>
</configuration>
这个配置文件会:
- 将日志输出到控制台和文件。
- 文件按天和大小滚动生成,文件大小超过 100MB 会自动滚动,最多保留 30 天的日志,且总大小不会超过 20GB。
- 日志内容格式化为:
yyyy-MM-dd HH:mm:ss.SSS [线程名] 日志级别 类名 - 消息内容。 - 根日志级别设置为
INFO,如果需要更详细的日志,可以调整为DEBUG。
3. 启用 Spring Boot 自动配置
通过 logback-spring.xml 配置文件,Spring Boot 会自动启用 Logback 配置,因此不需要额外的配置文件或注解。
4. 配置 Spring Boot 启动日志级别
Spring Boot 默认将日志输出到控制台。如果你希望输出更详细的日志,可以通过在 application.properties 或 application.yml 中设置日志级别:具体情况根据自己想要而定。
# 日志集成
logging:config: classpath:logback-spring.xmllevel:# 不同的包使用不同的日志级别root: INFOcom.poss.analysis.metrological: INFO
5. 运行与验证
如果需要进一步自定义 Logback(如日志切割、日志格式化等),可以在 logback-spring.xml 中添加更多的配置。
快速验证(推荐):如果你集成了Lombok, 并使用 @Slf4j 注解时,会自动生成一个名为 log 的 Logger 实例。这个实例是通过 Lombok 提供的注解处理器生成的,而无需手动创建 Logger 对象。
import lombok.extern.slf4j.Slf4j;@Slf4j
@RestController
public class HelloController {@GetMapping("/hello")public String hello(){log.info("方法进来了...");return "日志打印成功!";}
}
运行 Spring Boot 应用程序后,日志将会根据 logback-spring.xml 的配置输出到控制台和文件。
相关文章:
SpringBoot日志快速集成详解-生产实战
SpringBoot日志快速集成详解 1. 添加依赖2. 创建 logback-spring.xml 配置文件示例 logback-spring.xml 配置: 3. 启用 Spring Boot 自动配置4. 配置 Spring Boot 启动日志级别5. 运行与验证 博文专注于最快速的实战,没有那么多逼逼叨叨的理论࿰…...
路由技术在网络中的作用及特点
作用:路径选择:在复杂的网络拓扑结构中,路由技术能够根据网络的当前状态和目标地址,为数据报文选择一条最佳的传输路径,确保数据能够快速、准确地到达目的地。例如,在互联网中,当用户访问一个网…...
【Python系列】Flask 与 FastAPI:两个 Python Web 框架的对比分析
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
云手机:虚拟技术的革命性应用与实体手机的优劣对比
在近年来,随着互联网的火速发展,云手机作为一种新兴的技术产品,在游戏行业特别是手游市场中掀起了一股热潮。云手机,顾名思义,是架设在ARM虚拟服务器上的手机,其独特的虚拟技术为用户带来了前所未有的使用体…...
3. C语言 数据类型
本章目录: 前言:C语言中的数据类型分类1. 基本数据类型1.1 整数类型1.2 浮点类型1.3 字符型常量1.4 字符串常量 2. 枚举类型3. void 类型void类型的使用示例: 4. 类型转换4.1 隐式类型转换4.2 显式类型转换类型转换的注意事项 5. 小结 前言&a…...
npm install 安装选项 -d -s -g
在使用 npm install 时,-d、-g 和 -s 是不同的选项,它们分别代表不同的安装模式或行为。以下是它们的详细解释: 1. -d:--save-dev 含义:将包安装为开发依赖(devDependencies)。使用场景&#…...
pdf预览兼容问题- chrome浏览器105及一下预览不了
使用的"tato30/vue-pdf": "^1.11.2"预览插件,发现chrome浏览器105及一下预览不了 pdfPreview预览组件: <template><div id"vue_pdf_view"><div class"tool_tip"><template v-if"pa…...
【可实战】需求分析-测试计划↓-测试设计-测试执行-测试总结↓(包含测试计划、测试总结模板,以公司要求为准)
一、完成软件测试工作的必要步骤 需求分析-测试计划-测试设计-测试执行-测试总结 二、测试计划 (一)测试计划模版 模板在线查看: https://docs.qq.com/doc/DV2hTamxJWnNDaUFF 模板(百度网盘): 链接&…...
MySQL 03 章——基本的SELECT语句
一、SQL概述 (1)SQL背景知识 SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言,与数据直接打交道不同的数据库管理系统生产厂商都支持SQL语句,但都有特有内容 …...
【项目】智能BI洞察引擎 测试报告
目录 一、项目背景BI介绍问题分析项目背景 二、项目功能三、功能测试1、登录测试测试用例测试结果 2、注册测试测试用例测试结果出现的bug 3、上传文件测试测试用例测试结果 4、AI生成图表测试测试用例测试结果 5、分析数据页面测试(异步)测试用例测试结…...
javaEE-文件操作和IO-文件
目录 一.什么是文件 1.文件就是硬盘(磁盘)上的文件。 2.计算机中存储数据的设备: 3.硬盘的物理特征 4.树型结构组织和⽬录 5.文件路径 文件路径有两种表示方式: 6.文件的分类 二、java中文件系统的操作 1.File类中的属性: 2.构造方…...
2025跨年倒计时
<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>2025年跨年倒计时</title><style>/* 页…...
下载mysql免安装版和配置
1、下载地址 点击去官网下载https://downloads.mysql.com/archives/community/ 2、解压安装mysql 解压的文件夹是没有my.ini文件和data目录,需要我们自己去创建 根目录下创建my.ini,根目录创建data [mysql] default-character-setutf8[mysqld] #端口 po…...
代码模板-C语言常用的errno的名字、值以及对应关系?转换字符串函数?(errno.h, strerror; errno -l; man errno)
背景 errno.h是C 编程语言标准库中的头文件。它定义了使用符号errno (“错误号”的缩写)报告和检索错误情况的宏。经常需要用来在内核态用户态返回错误寻找,本文以供快速检索。 常用函数与用法 strerror 根据errno获取文件 比如ÿ…...
全新免押租赁系统助力商品流通高效安全
内容概要 全新免押租赁系统的推出,可以说是一场商品流通领域的小革命。想象一下,不再为押金烦恼,用户只需通过一个简单的信用评估,就能快速租到所需商品,这种体验简直令人惊喜!这个系统利用代扣支付技术&a…...
5.微服务灰度发布落地实践(rocketmq增强)
文章目录 前言发送端灰度增强订阅端灰度增强 前言 上一篇分析了,在灰度发布实现中为什么要对消息队列灰度发布进行增强。本篇主要介绍如何实现rocketmq 灰度发布的增强. 发送端灰度增强 订阅端灰度增强...
MySql核心面试面试问题解析
MySql核心面试面试问题解析 有时候往往简单的才是最容易失分的!!! MySQL支持哪些存储引擎?有何区别? 答案:常见的存储引擎有InnoDB、MyISAM、Memory等。InnoDB支持事务,MyISAM不支持事务&#x…...
logback之自定义pattern使用的转换器
目录 (1)场景介绍 (2)定义转换器BizCallerConverter (3)logback配置conversionRule (4)测试效果 前文《logback之pattern详解以及源码分析》已经介绍了pattern,以及…...
【MySQL】发展起源与核心架构组件详细介绍
🐇明明跟你说过:个人主页 🏅个人专栏:《MySQL技术精粹》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、MySQL起源背景 2、MySQL发展里程 3、MySQL应用场景 二、MySQL的核心特…...
uni-app 多平台分享实现指南
uni-app 多平台分享实现指南 在移动应用开发中,分享功能是一个非常常见的需求,尤其是在社交媒体、营销活动等场景中。使用 uni-app 进行多平台开发时,可以通过一套代码实现跨平台的分享功能,涵盖微信小程序、H5、App 等多个平台。…...
鸿蒙开发实战:HDC工具在本地模拟器中的高效调试技巧
1. HDC工具入门:鸿蒙开发的瑞士军刀 第一次接触HDC工具时,我把它当成了鸿蒙版的ADB。但用久了才发现,这个看似简单的命令行工具,其实是鸿蒙开发的万能钥匙。HDC全称Huawei Device Connector,就像它的名字一样ÿ…...
毕业设计用什么ai?实测8款AI论文生成工具测评,查重率仅6%超可靠!
每到毕业季,论文写作就成了无数学生的头号难题。从开题报告到文献综述,再到数万字的正文,每个环节都充满挑战。别担心!AI论文写作工具的出现,让高效完成高质量论文成为可能。本文实测了8款主流AI论文生成工具ÿ…...
如何使用Firebase构建Aurelia 1框架实时协作应用:打造高效协同编辑工具
如何使用Firebase构建Aurelia 1框架实时协作应用:打造高效协同编辑工具 【免费下载链接】framework The Aurelia 1 framework entry point, bringing together all the required sub-modules of Aurelia. 项目地址: https://gitcode.com/gh_mirrors/fra/framework…...
Linux下用tar.gz压缩含软连接的目录,为什么比zip更靠谱?
Linux下处理含软连接目录:为什么tar.gz比zip更可靠? 在Linux系统管理中,文件打包和压缩是日常操作中不可或缺的一部分。当目录结构中含有软连接(symbolic link)时,选择合适的压缩格式就显得尤为重要。许多管…...
标普油气ETF富国(513350.SH)逆势走强、半导体承压:地缘扰动与产业逻辑共振下的ETF分化走势
4月2日,市场全天震荡调整,创业板指、科创50指数均跌超2%。板块方面,医药板块逆势走强,油气股表现活跃,光纤概念反复走强;算力租赁概念集体调整。ETF方面,标普油气ETF富国(513350.SH&…...
告别穿模与漂移!南洋理工团队提出HMR新框架:用视觉大模型对齐人体姿态
点击下方卡片,关注「3D视觉工坊」公众号选择星标,干货第一时间送达本文一作投稿发布 | 来源:3D视觉工坊「3D视觉从入门到精通」知识星球(点开有惊喜) !星球内有20多门3D视觉系统课程、300场顶会讲解、顶会论文最新解读、海量3D视觉…...
AI绘画工作流:OpenClaw调度千问3.5-35B-A3B-FP8生成SD提示词
AI绘画工作流:OpenClaw调度千问3.5-35B-A3B-FP8生成SD提示词 1. 为什么需要自动化提示词生成 在Stable Diffusion创作中,最耗时的环节往往不是渲染过程,而是反复调试提示词(prompt)。我曾在一次商业插画项目中&#…...
Go Routine 调度与系统线程绑定
Go语言凭借其轻量级并发模型Goroutine,成为高并发场景下的明星语言。Goroutine的魔力源于其高效的调度机制,而它与系统线程的绑定关系更是性能优化的关键。本文将揭开Goroutine调度与线程绑定的技术面纱,从运行时调度器、线程池管理、工作窃取…...
AI 模型推理中的延迟分析与测试
AI 模型推理中的延迟分析与测试 在人工智能技术快速发展的今天,AI 模型的推理性能成为影响实际应用效果的关键因素之一。无论是智能语音助手、自动驾驶,还是实时推荐系统,延迟的高低直接决定了用户体验的好坏。对 AI 模型推理的延迟进行分析…...
告别网络限制!哔咔漫画离线下载神器使用全攻略
告别网络限制!哔咔漫画离线下载神器使用全攻略 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh_mirrors…...
