重生之 SpringBoot3 入门保姆级学习(10、日志基础与使用)

重生之 SpringBoot3 入门保姆级学习(10、日志基础使用)

    • 3.1 日志基础
    • 3.2 使用日志
      • 3.2.1 基础使用
      • 3.2.2 调整日志级别
      • 3.2.3 带参数的日志

3.1 日志基础


  • SpringBoot 默认使用 SLF4j(Simple Logging Facade for Java)和 Logback 实现日志,默认日志级别是 INFO
  • 日志级别有
    • ALL 打印所有日志
    • TRACE 追踪框架详细流程日志,一般不用
    • DEBUG 开发者调试日志
    • INFO 关键、感兴趣的日志
    • WARN 警告但不是错误信息的日志,比如:版本过时
    • ERROR 业务错误日志,比如:出现各种异常
    • FATAL 致命日志错误,比如:jvm 系统崩溃
    • OFF 关闭所有日志

image-20240530121524908

  • SpringBoot 默认日志输出格式
    • 外部库 -> Maven: org.springframework.boot:spring-boot:3.2.5 -> META-INF -> additional-spring-configuration-metadata.json
%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}

image-20240530122414603

  • 通过 application.properties 修改日志输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:SS} %-5level [%thread] %logger{15} ===> %msg%n
  • 输出效果

image-20240530121938088

  • 也可以修改单个效果,如时间日期:
logging.pattern.dateformat=yyyy-MM-dd HH:mm:ss.SSS

3.2 使用日志

3.2.1 基础使用


  • 编写 Controller 层 HelloController
package com.zhong.logging.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName : HelloController* @Description :* @Author : zhx* @Date: 2024-05-30 12:31*/
@RestController
public class HelloController {Logger logger = LoggerFactory.getLogger(getClass());@GetMapping("/h")public String Hello() {logger.info("哈哈哈,方法进来了。");return "hello";}
}
  • 通过加入注解能直接使用 log
package com.zhong.logging.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName : HelloController* @Description :* @Author : zhx* @Date: 2024-05-30 12:31*/
@Slf4j	// 加入此注解后能够直接使用 log.xxx
@RestController
public class HelloController {//    Logger logger = LoggerFactory.getLogger(getClass());@GetMapping("/h")public String Hello() {
//        logger.info("哈哈哈,方法进来了。");log.info("哈哈哈,方法进来了。");return "hello";}
}
  • 浏览器访问
http://localhost:8080/h

image-20240530124051147

  • 控制台输出访问日志

image-20240530123613769

3.2.2 调整日志级别


# 调整该项目的所有日志级别
logging.level.root = debug
# 调整该类下的所有日志级别
logging.level.com.zhong.logging.controller.HelloController = info

image-20240530130703336

3.2.3 带参数的日志


  • 调整代码
package com.zhong.logging.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName : HelloController* @Description :* @Author : zhx* @Date: 2024-05-30 12:31*/
@Slf4j
@RestController
public class HelloController {@GetMapping("/h")public String Hello(String a, String b) {log.info("哈哈哈,方法进来了。参数: {} {}", a, b);	// 第一个括号就是第一个参数 areturn "hello";}
}
  • 浏览器不带参数访问
http://localhost:8080/h

image-20240530131323611

  • 浏览器带参数访问
http://localhost:8080/h?a=10&b=20

image-20240530131420851

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

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

相关文章

码蹄集部分题目(2024OJ赛17期;二分+差分+ST表+单调队列+单调栈)

1🐋🐋小码哥处理订单(钻石;二分差分) 时间限制:1秒 占用内存:128M 🐟题目描述 🐟题目思路 【码蹄集进阶塔全题解07】算法基础:二分 MT2070 – MT2079_哔哩…

Element ui 快速入门(基础知识点)

element ui官网 前言: 在当今时代,我们在编写计算机程序时,不仅仅是写几个增删改查的简单功能,为了满足广大用户对页面美观的需求,为了让程序员们写一些功能更简便,提高团队协作效率,所以eleme…

python操作mongodb底层封装并验证pymongo是否应该关闭连接

一、pymongo简介 github地址:https://github.com/mongodb/mongo-python-driver mymongo安装命令:pip install pymongo4.7.2 mymongo接口文档:PyMongo 4.7.2 Documentation PyMongo发行版包含Python与MongoDB数据库交互的工具。bson包是用…

【Python】解决Python报错:AttributeError: ‘int‘ object has no attribute ‘xxx‘

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

RLC防孤岛保护装置如何工作的?

什么是RLC防孤岛保护装置? 孤岛保护装置是电力系统中一道强大的守护利器,它以敏锐的感知和迅速的反应,守护着电网的平稳运行。当电网遭遇故障或意外脱离主网时,孤岛保护装置如同一位机警的守门人,立刻做出决断&#xf…

Go微服务: 基于Docker搭建Kong网关环境

概述 在当今的微服务架构中,API网关扮演着至关重要的角色,它作为系统的统一入口负责处理所有内外部请求,实现路由转发、负载均衡、安全控制、限流熔断等多种功能Kong,作为一个开源、高性能、可扩展的API网关,凭借其强…

【机器学习】探索未来科技的前沿:人工智能、机器学习与大模型

文章目录 引言一、人工智能:从概念到现实1.1 人工智能的定义1.2 人工智能的发展历史1.3 人工智能的分类1.4 人工智能的应用 二、机器学习:人工智能的核心技术2.1 机器学习的定义2.2 机器学习的分类2.3 机器学习的实现原理2.4 机器学习的应用2.5 机器学习…

在PostGIS中检查孤线(Find isolated lines in PostGIS)

场景 在PostGIS中有一张线要素表,需要检查该表中的孤线,并且进行自动纠正的计算。 其中孤线定义为两端端点都不在任何其他线的顶点上。 本文介绍在PostGIS中的线要素点,通过函数计算指定线要素表中的孤线,并计算最接近的纠偏位置。 In PostGIS, there is a table of line …

GPT-4o(OpenAI最新推出的大模型)

简介:最近,GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价,包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 方向一:对比分析 GPT-4o(OpenAI最新推出的大模型)与GPT-4之间的主要区别体现在响应…

268 基于matlab的模拟双滑块连杆机构运动

基于matlab的模拟双滑块连杆机构运动,并绘制运动动画,连杆轨迹可视化输出,并输出杆件质心轨迹、角速度、速度变化曲线。可定义杆长、滑块速度,滑块初始位置等参数。程序已调通,可直接运行。 268 双滑块连杆机构运动 连…

Github单个文件或者单个文件夹下载插件

有时候我们在github上备份了一些资料,比如pdf,ppt,md之类的,需要用到的时候只要某个文件即可,又不要把整个仓库的zip包下载下来,毕竟有时文件太多,下载慢,我们也不需要所有资料,那么就可以使用到…

i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具

关于i-am-a-bot i-am-a-bot是一款基于多个大语言模型的验证码安全评估工具,该工具提供了一个使用了多模态大语言模型(LLM)的自动化解决方案,可以帮助广大研究人员测试各种类型验证码机制的安全性。 从底层上看,i-am-a…

renren-fast-vue启动报错

问题描述 拉取人人开源vue项目启动失败 报错信息 版本信息 序号名称版本号1node14.21.3 启动方案 1.拉取项目 git clone https://gitee.com/renrenio/renren-fast-vue.git 2.执行安装依赖命令 npm install 3.此时报错 chromedriver2.27.2 install: node install.js 4.手动…

安装与使用ChatTTS文本转语音模型

非常自然的文本转语音(Text To Speech)TTS,支持中英文混读,还可以穿插笑声,听起来很真实自然。 1、有哪些优点 对话式 TTS: ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。细粒度控制…

老师如何使用小程序发成绩?

作为一名老师,你有没有想过,发成绩其实可以不用那么麻烦?以前,我们可能得一张张地写成绩,或者一封封邮件地发,有时候还得担心信息泄露。但现在,有了小程序,一切都变得简单多了。 老师…

连锁超市能源能效管理方案

1.概述 连锁超市的能源消耗是其运营成本的重要组成部分。有效的能源能效管理不仅可以降低运营成本,也有助于环保,实现可持续发展。本文将探讨几种关键的能源能效管理策略。 2.智能照明系统 采用智能照明系统是提高能效的关键一步。这些系统可以根据店…

【linux】自定义快捷命令/脚本

linux自定义快捷命令 场景自定义命令自定义脚本 场景 深度学习经常要切换到自己环境,conda activate mmagic,但是又不想每次重复打这么多字,想使用快捷命令直接切换。 自定义命令 使用别名(alias)或自定义脚本来创建…

先进的无人机GPS/GNSS模块解决方案

由于多星座支持和增强的信号接收能力,先进的GNSS模块提供了更高的精度和可靠性。集成传感器融合补偿信号中断,实现无缝导航。内置实时运动学(RTK)支持提供厘米级的定位精度。这些模块还优先考虑低功耗和紧凑的尺寸,确保更长的飞行时间和对无人…

【SpringMVC】_SpringMVC实现用户登录

目录 1、需求分析 2、接口定义 2.1 校验接口 请求参数 响应数据 2.2 查询登录用户接口 请求参数 响应数据 4、服务器代码 5、前端代码 5.1 登录页面login.html 5.2 首页页面index.html 6、运行测试 1、需求分析 用户输入账号与密码,后端校验密码是否正确&a…

【论文速读】Self-Rag框架,《Self-Rag: Self-reflective Retrieval augmented Generation》

关于前面的文章阅读《When to Retrieve: Teaching LLMs to Utilize Information Retrieval Effectively》,有网友问与Self-Rag有什么区别。 所以,大概看了一下Self-Rag这篇论文。 两篇文章的方法确实非常像,Self-Rag相对更加复杂一些。 When …