【Java Spring】SpringBoot 日志系统

文章目录

    • 一、Spring Boot 日志系统
      • 1.1 Spring Boot 日志框架
      • 1.2 自定义日志打印
      • 1.3 日志级别设置
      • 1.4 日志持久化
      • 1.5 lombok 简化日志输出

一、Spring Boot 日志系统

1.1 Spring Boot 日志框架

SLF4J 和 logback都是spring boot内置的日志框架,开发者只负责调用对接的SLF4J

在这里插入图片描述

1.2 自定义日志打印

开发者自定义打印日志的实现步骤

  • 在程序中获取到日志对象
  • 使用日志对象的相关语法输出打印的内容
public class UserController {// 1、 得到日志对象在(来自slf4j)private static final Logger logger = LoggerFactory.getLogger(UserController.class);@RequestMapping("/hi")public String SayHi() {// 2、 使用日志对象来打印日志(使用日志对象提供的内置方法来打印)logger.trace("我是 trace");logger.debug("我是 debug");logger.info("我是 info");logger.warn("我是 warn");logger.error("我是 error");return "Hi Spring Boot";}
}

日志结构:日志打印时间 日志级别 线程ID 线程名称 日志归属包的名称+类名 日志信息

在这里插入图片描述

1.3 日志级别设置

我们可以通过在配置文件中设置目录层级,来对不同目录设置不同的日志等级

logging:level:root: debug  # root代表全局日志等级为errorcom:         # 设置com.example.demo.controller 目录日志等级levelexample:demo:controller: trace

1.4 日志持久化

将日志输出到指定目录的指定文件,还可以通过其他设置将日志按照时间或者大小输出到滚动文件或者其他地方,这里只介绍最简单的持久化不再赘述

logging:file:path: /Usersname: springboot-log.log

1.5 lombok 简化日志输出

使用@Slf4j注解来帮助我们注入logr对象,我们可以直接使用log对象进行日志输出,不需要我们手动给类添加日志类

@Controller
@ResponseBody
@RequestMapping("/art")
@Slf4j
public class ArticleController {// 1、获取日志对象// private static final Logger logger = LoggerFactory.getLogger(ArticleController.class);@RequestMapping("/hi")public String sayHi() {log.trace("我是 slf4j 的 trace");log.trace("我是 slf4j 的 debug");log.trace("我是 slf4j 的 error");return "Hi , ArticleController";}
}

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

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

相关文章

蓝桥杯第100 题 九宫幻方 DFS 全排列 C++ 解题思维

题目 九宫幻方https://www.lanqiao.cn/problems/100/learning/?page1&first_category_id1&name%E4%B9%9D 思路和解题方法 一 (DFS) 首先,定义了一些全局变量和数组。vis数组用于标记已经出现过的数字,a数组用于存储数独的初始状态…

ensp 启动设备时报40错误,然后一直没有去管,再次进去就好了,我知道是配置虚拟机的时候修改了一些设置:

第一个阶段: 那时我是重置电脑之后就安装了ensp所以没有出现什么问题,(那时没有导入ce6800和12800还有防火墙6000) 第二个阶段: 因为有华为相关的实验要做,所以心血来潮打开了ensp(路由器之前…

多类场景、遍布各地,融云 IM 支撑多款应用全球增长

(全网都在找的《社交泛娱乐出海作战地图》,点击获取👆) 无论是面向企业场景的工作流协同还是消费场景的网络效应形成,商务社交还是陌生人社交,IM 都是必备组件。IM 遍布互联网各角落,出现在所有…

算法通关村第十二关-黄金挑战字符串冲刺题

最长公共前缀 描述 : 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 题目 : LeetCode 14.最长公共前缀 : 分析 : 第一种方式,我们可以竖着比较,如图所示,每前进一个位置就…

unity学习笔记06

一、预制体 1.定义: 预制体是一种存储了一个或多个游戏对象及其组件的资产。可以将预制体视为游戏对象的模板,它包含了对象的所有属性、组件和初始状态。 2.创建预制体: 在Unity中,可以通过将一个或多个游戏对象拖动到项目窗口…

量子计算软件平台

目录 1.量子语言 2.量子软件开发工具 3.量子云计算平台 1.量子语言 量子语言是一种基于量子计算机的语言,用于描述和实现量子算法。与经典计算机语言不同,量子语言需要考虑量子力学的特殊规则和算法的量子化。其中,最常用的量子语言是量子程…

xxljob学习笔记01(小滴课堂)

分布式调度xxl-job源码部署和数据库建立: 在idea中打开安装包: 创建数据库: 建表: 在项目里: 在navicat里运行语句即可: 修改数据库地址和用户名,密码: 配置令牌,不然谁…

ESP32-Web-Server编程- JS 基础5

ESP32-Web-Server编程- JS 基础5 概述 JS 编程内容颇多,我们提供一些简单的示例,先玩再学,边玩边学。 示例1-演示通过 JS 进行温度转换 资源链接 对应示例的 code 链接 (点击直达代码仓库) 示例2-增加网页弹窗 演…

SSM跆拳道网站系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 跆拳道网站系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模…

Mysql的二阶段提交

先看执行器与InnoDB引擎是如何更新一条指定的数据的 可以看到,InnoDB在写redo log时,并不是一次性写完的,而有两个阶段,Prepare与Commit阶段,这就是"两阶段提交"的含义。 为什么要写redo log,不…

springboot+vue实现websocket通信实例,进入页面建立连接

springbootvue实现websocket通信实例 进入页面建立连接 前端代码&#xff1a; <template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true" v-show&qu…

将用户的session改为分布式共享session

将用户的session改为分布式session 分布式session理解 使用分布式session的原因&#xff1a; 后台服务器是分布式的&#xff08;比如要负载均衡&#xff09;&#xff0c;在A服务器请求的的信息&#xff08;如用户登录信息&#xff09;存在A的session中&#xff0c;B服务器并不…