一篇文章搞定SpringBoot日志

一,SpringBoot日志简介

SpringBoot框架默认集成的抽象日志框架为SLF4J(Simple Logging Facade for Java),具体的日志框架为LogBack。SpringBoot项目直接引入依赖即可

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-logging</artifactId>
	</dependency>
public class Demo {
    private static final Logger logger = LoggerFactory.getLogger(Demo.class);

    public void recordLogs() {
        logger.trace("This is an trace message");
    	logger.debug("This is a debug message");
        logger.info("Application started successfully!");
        logger.warn("This is a warning message");
        logger.error("This is an error message");
    }
}

二,日志级别(Log Level)

日志级别用来指定日志记录严重程度的标准,不同日志级别代表了不同的重要性和紧急程度,有助于开发者根据实际需要来过滤和关注特定类型的日志信息。会记录本级级和更高级别的日志,常见的日志级别由低到高如下:
SpringBoot默认日志级别是INFO,且将日志打印到控制台

日志级别描述
TRACE最低级别日志,用于记录最详细的信息,通常是在调试应用时使用
DEBUG用于记录程序运行时的详细信息,比如变量的值、进入或退出某个方法。主要用于开发阶段的调试
INFO用于记录程序的一般信息,比如系统的启动、服务的初始化完成。表示程序正常运行
WARN警告信息,表示可能存在的问题或异常的情况,但是不至于导致程序停止工作
ERROR错误信息,表示发生了一个错误事件,该错误可能会导致某些功能无法正常工作

丰富SpringBoot启动日志是通过以下两项配置影响SpringBoot框架本身的启动日志和追踪信息。两项配置并不影响在业务代码中编写的日志记录,SpringBoot框架启动完成之后,不再有任何作用

# 启动SpringBoot的启动跟踪,生成包含启动信息的详细跟踪文件,包含debug: true输出的内容
trace: true
# 启动SpringBoot的调试模式,增加启动日志的详细程度并显示自动配置报告
debug: true

三,日志的粗细粒度

# SpringBoot框架日志相关配置
logging:
  # 日志输出等级配置(细粒度的优先级更高)
  level:
    # 根日志粒度,即整个项目的
    root: info
    # 为特定的包设置日志级别
    com.example.mapper: debug
    # 为特定的类设置日志级别
    com.service.DemoService: trace

四,日志输出到文件

SpringBoot框架支持以下两种日志输出到文件的配置方式,二者不兼容,同时存在时,输出指定日志文件名称的配置方式生效

1.输出指定日志文件路径

自动在指定路径下生成一个名称固定为spring.log的日志文件,文件名称不可配置

# SpringBoot框架日志相关配置
logging:
  # 日志输出到文件相关配置
  file:
    # 设置日志文件的路径
    path: ./logs/

2.输出指定日志文件名称

日志文件生成到项目的根目录下

# SpringBoot框架日志相关配置
logging:
  # 日志输出到文件相关配置
  file:
    # 设置日志文件的名称
    name: customName.log

五,滚动日志

滚动日志是一种日志管理机制,用于防止日志文件无限增长,通过将日志文件分割成多个文件,每个文件只包含一定时间段或大小的日志
以下滚动日志配置是LogBack框架的

# SpringBoot框架日志相关配置
logging:
  # LogBack的滚动日志相关配置
  logback:
    rollingpolicy:
      # 日志文件达到多大时进行归档
      max-file-size: 100MB
      # 所有归档的日志文件总共达到多大时进行删除,默认是0B,表示不删除
      total-size-cap: 50GB
      # 归档日志最多保留多少天
      max-history: 60
      # 项目启动时是否要清理归档日志
      clean-history-on-start: false
      # 归档日志文件名格式,${LOG_FILE}为SpringBoot默认的文件名,即spring.log
      file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码届艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值