SpringBoot —— 日志基本操作

简介: SpringBoot —— 日志基本操作



@(SpringBoot —— 日志基本操作)

一、日志的作用


日志(log)作用:

1.编程期调试代码

2.运营期记录信息

  • 记录日常运营重要信息(峰值流量、平均响应时长…)
  • 记录应用报错信息(错误堆栈)
  • 记录运维过程数据(扩容、宕机、报警…)



二、日志级别


  • TRACE: 运行堆栈信息,使用率低
  • DEBUG: 程序员调试代码使用
  • INFO: 记录运维过程数据
  • WARN: 记录运维过程报警数据
  • ERROR: 记录错误堆栈信息
  • FATAL: 灾难信息,合并计入ERROR



三、日志的使用


  1. 控制层组件中,创建记录日志的对象,并记录日志信息
  • 日志默认使用info级别,只能看到info及以上级别的信息,此时debug级别的日志信息不可见
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author .29.
 * @create 2023-03-31 19:40
 */
@RestController
@RequestMapping("/books")
public class BookController {
    //一、创建记录日志的对象
    private static final Logger log = LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String get(){
        System.out.println("SpringBoot is running ...");
        //二、记录日志信息
        //日志默认使用info级别,只能看到info及以上级别的信息,此时debug级别的日志信息不可见
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        return "test springboot use log";
    }
}


  • 快速创建日志对象的技巧:

导入lombok依赖,在控制层组件使用 @Slf4j 注解

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author .29.
 * @create 2023-03-31 19:40
 */
@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {
    //一、创建记录日志的对象
//    private static final Logger log = LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String get(){
        System.out.println("SpringBoot is running ...");
        //二、记录日志信息
        //日志默认使用info级别,只能看到info及以上级别的信息,此时debug级别的日志信息不可见
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        return "test springboot use log";
    }
}



  1. 显示debug级别日志信息的方案

在SpringBoot配置文件application.yml中设置

方式一:

# 方式一:开启debug模式,输出调试信息,常用于检查系统运行状况
debug: true


方式二(推荐):

# 方式一:开启debug模式,输出调试信息,常用于检查系统运行状况
#debug: true   
# 方式二:设置日志级别,root表示根节点,即整体应用日志级别
logging:
  level:
    root: debug




四、设置日志级别


在SpringBoot配置文件application.yml中设置


  • 单独设置某个包的日志级别
# 整体应用info级别,单独设置某个包为debug级别
logging:
  level:
    root: info
    com.haojin.springboot.springbootlog.controller: debug  # 单独设置某个包的日志级别


  • 设置分组,对某个组设置日志级别
# 设置日志级别
logging:
  level:
    root: info
    # 对组ebank设置日志级别为debug
    ebank: debug
  # 设置分组ebank
  group:
    ebank: com.haojin.springboot.springbootlog.controller,com.haojin.springboot.springbootlog.service



五、设置日期输出格式


在SpringBoot配置文件application.yml中设置

  • %d —— 日期
  • %m —— 消息
  • %n —— 换行
# 设置日志输出格式
loggin:
  pattern:
    console: "%d - %m%n"



六、日志写入文件


  • 设置日志文件:server.log 中
# 日志会写入日志文件:
logging:
  file:
    name: server.log


  • 日志文件详细配置:
logging:
    name: server.log
  logback:
    rollingpolicy:
      max-file-size: 10KB  #设置文件极限大小
      file-name-pattern: server.%d{yyyy-MM-dd}.%i.log #设置日志命名格式




相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2918 1
|
6月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1144 5
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
1310 0
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
1145 0
|
Java API 开发者
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
787 0
|
8月前
|
机器学习/深度学习 XML Java
【spring boot logback】日志logback格式解析
在 Spring Boot 中,Logback 是默认的日志框架,它支持灵活的日志格式配置。通过配置 logback.xml 文件,可以定义日志的输出格式、日志级别、日志文件路径等。
1528 5
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
484 5
|
开发框架 运维 监控
Spring Boot中的日志框架选择
在Spring Boot开发中,日志管理至关重要。常见的日志框架有Logback、Log4j2、Java Util Logging和Slf4j。选择合适的日志框架需考虑性能、灵活性、社区支持及集成配置。本文以Logback为例,演示了如何记录不同级别的日志消息,并强调合理配置日志框架对提升系统可靠性和开发效率的重要性。
581 5
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
1085 8
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
562 1