No Data

springboot3配置日志

原创  作者:斩雪碎光阴  发布于:2023年11月12日  阅读量:408
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  分类:  标签:

一、springboot3配置日志

1.application.properties文件中增加

# 对根目录设置

logging.level.root=info

# 设置日志文件的目录

logging.file.path=/root/xxxlogs

# 设置日志大小

logging.logback.rollingpolicy.max-file-size=100MB

2.pom.xml中引入

   org.projectlombok

   lombok

3.在需要打印日志的类中加上注解

@Slf4j

public class...

4.打印日志

log.info("...");


二、解释

1.获取日志对象

import org.slf4j.Logger; //必须导这个包

import org.slf4j.LoggerFactory;

@RestController

public class TestController {

private static final Logger log = LoggerFactory.getLogger(TestController.class);

Spring Boot 中内置了日志框架 Slf4j,可以使用一致的API来调用不同的日志记录框架;

一般每个类都有自己的日志文件因此getLogger方法参数推荐为当前类,日志文件不能轻易修改因此使用private static final

2.打印日志的方法

log.trace("...");

log.debug("...");

log.info("...");

log.warn("...");

log.error("...");

3.日志级别

trace:微量,少许的意思,级别最低;

debug:需要调试时候的关键信息打印;

info:普通的打印信息(默认⽇志级别);

warn:警告,不影响使用,但需要注意的问题;

error:错误信息,级别较⾼的错误⽇志信息;

fatal:致命的,因为代码异常导致程序退出执⾏的事件。

SpringBoot中日志级别从低到高依次为:trace < debug < info < warn < error < fatal,默认的级别是info。

application.properties中定义日志级别:

# 除了对根路径设置级别,还可以分别对不同的目录进行同时设置

# 对根目录设置

logging.level.root=error

# 对controller 目录设置一个级别

longing.level.com.example.demo.controller=trace  

它们不会冲突,除了 com.example.demo.controller 下为 trace,其它地方都为error。

4.日志的持久化

设置日志文件的目录

logging.file.path=D:\\logging\\

程序启动时目录会自动创建

可以进一步精确到文件名

# 设置日志文件的文件名,注意这里是 name 属性

logging.file.name=D:\logging\mySpring.log

日志很多的情况下可以设置日志文件存储大小的最大容量,达到最大容量后自动地分成多个文件,支持的单位包括 KB、MB、GB 等,当日志文件达到指定大小后,将自动创建一个新的日志文件来继续记录日志信息,老文件会自动打成压缩包标记日期

# 设置日志大小的最大大小 100MB

logging.logback.rollingpolicy.max-file-size=100MB

5.借助 lombok 输出日志

给打印日志的类加上注解,然后直接使用log对象打印日志

@Slf4j //加上这个注解,它会自己生成一个日志对象,对象名叫“log”,直接引用。

...

log.trace("...");

log.debug("...");

log.info("...");

log.warn("...");

log.error("...");

...

相关文章