JavaWeb-注解@Slf4j的使用

目录

@Slf4j

使用步骤

1. 添加 Lombok 依赖

2. 在类上使用 @Slf4j

3. 日志级别

4. 配置日志级别

slf4j日志级别排序


@Slf4j

在Spring Boot中,@Slf4j 是一个来自于 Lombok 库的注解,用于自动生成一个名为 log 的日志对象。

使用步骤

要在Spring Boot中使用 @Slf4j,需要执行以下步骤:

1. 添加 Lombok 依赖

如果项目中没有添加 Lombok 依赖,可以在 pom.xml 文件中加入以下依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.28</version>
    <scope>provided</scope>
</dependency>

确保项目中的 slf4j-api 和日志实现(如 Logback)也已正确配置。Spring Boot 默认使用 Logback,因此通常不需要额外添加日志实现。

2. 在类上使用 @Slf4j

在你的类中使用 @Slf4j 注解,它会自动为你生成一个名为 log 的静态日志对象。

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class MyController {

    @GetMapping("/log")
    public String logExample() {
        log.info("This is an INFO log message");
        log.debug("This is a DEBUG log message");
        log.error("This is an ERROR log message");

        return "Check the logs!";
    }
}

3. 日志级别

你可以根据需要使用不同的日志级别:

  • log.trace() - 用于非常详细的日志信息,通常用于调试。
  • log.debug() - 用于调试时输出的信息。
  • log.info() - 用于常规的运行时日志信息。
  • log.warn() - 用于警告级别的日志,提示可能会出现的问题。
  • log.error() - 用于输出错误信息。

4. 配置日志级别

你可以通过 application.propertiesapplication.yml 文件配置日志的输出级别。比如:

application.properties 文件中:

logging.level.com.example=DEBUG

application.yml 文件中:

logging:
  level:
    com.example: DEBUG

com.example 是你的类所在的包名,这样配置后,DEBUG 级别及以上的日志会被输出。

使用 @Slf4j 可以简化日志对象的声明,通过 Lombok 自动生成 log,并且与 Spring Boot 中的日志系统无缝集成。

slf4j日志级别排序

在 SLF4J 中,日志级别按照从低到高的顺序排列如下:

  1. TRACE:最详细的日志级别,通常用于追踪程序的执行过程。适合调试非常细微的情况,输出信息量非常大。

  2. DEBUG:调试级别,用于记录调试相关信息,开发阶段常用。比 TRACE 稍微少一些,但仍包含大量的详细信息。

  3. INFO:信息级别,用于记录程序的常规运行信息,通常在生产环境中使用,输出程序的正常操作日志。

  4. WARN:警告级别,表明可能存在潜在的问题,但程序还可以继续运行。这个级别通常用于提醒开发人员注意一些非关键性的错误。

  5. ERROR:错误级别,记录程序中发生的严重错误,可能导致程序的某些功能无法正常工作。

这些日志级别的顺序决定了它们的优先级。日志框架会根据配置的日志级别过滤日志信息,输出等于或高于该级别的日志。例如,如果设置日志级别为 WARN,则 WARNERROR 级别的日志会被输出,INFODEBUGTRACE 级别的日志则不会输出

日志级别顺序总结

  • TRACE < DEBUG < INFO < WARN < ERROR

在不同的环境中(例如开发、测试、生产),你可以根据需求配置不同的日志级别,以便控制日志的输出详细程度。

springBoot的默认日志级别

在 Spring Boot 中,默认的日志级别是 INFO

这意味着在没有显式配置日志级别的情况下,Spring Boot 会输出 INFO 级别及其更高的日志(即 WARNERROR),而 DEBUGTRACE 级别的日志不会被输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值